PSST(1)

πŸ’… PSST β€” like, the manual, but make it make sense πŸ’…

okay bestie, gather round, because we're about to talk about psst, aka the Power Stress and Shaping Tool πŸŽ€. she's a command-line girlie and she's here to run the show on your terminal. no cap.


✨ SYNOPSIS ✨

psst [options <value>]

🌸 DESCRIPTION 🌸

so. the Power Stress and Shaping Tool (PSST) is literally a controlled power 'virus' πŸ’€ β€” but like, in a cute, intentional way β€” built for Intel SoC components like the CPU and the GPU.

the whole vibe? you're subjecting the SoC to different run-time-varying utilization levels so you can analyze what happens πŸ”₯. and how do we do that? by controlled duty-cycling of utilization into a specific contour. the simplest contour is just... fixed low utilization. and that's actually super useful, bestie, because it lets you do simple stuff like logging system parameters at a fixed low overhead even when your polling intervals are tiny (like, milliseconds small) ⏱️.

and if you want to go bigger? study governors, workloads, e.t.c. β€” all of that is possible by applying different power shape contours and options. main character energy only πŸ‘‘.


⭐ OPTIONS ⭐

  • -C, --cpumask CPUMASK β€” CPUMASK is a hexadecimal bit mask of the cpu you selected. (like, a1 selects cpu 0, 5, and 7 🫢). default: every online cpu, maximum 1024.
  • -p, --poll-period pollperiod β€” pollperiod says how long the period for logging is, in milliseconds. default is 500 ms.
  • -d, --duration m β€” sets duration m, in milliseconds, for how long psst runs. default is 3600000 β€” that's 1 hour, if math isn't your thing πŸ’–.
  • -l, --log-file path β€” gives the full path to the logfile. default is /var/log/psst.csv.
  • -v, --verbose β€” turns on verbose mode. (default: disabled when args specified.)
  • -V, --version β€” prints version, periodt.
  • -T, --track-max-cpu β€” tracks the cpu# with maxed freq during the poll period πŸ‘€.
  • -h, --help β€” prints help.
  • -s, --shape-func shape-func,arg β€” specifies the power shape function and its argument. here's the whole menu, no gatekeeping:
    • single-step,v β€” where v is load step height [C0%]. (default shape: single-step,0.1)
    • sinosoid,w,a β€” where w is wavelength [seconds] and a is the amplitude (max load %)
    • stair-case,v,u β€” where v is load step height [C0%], u is step length (sec)
    • single-pulse,v,u β€” where v is load step height [C0%], u is step length (sec)
    • linear-ramp,m β€” where m is the slope (load/sec)
    • saw-tooth,m,a β€” slope m (load/sec); reversed after max a% or min(0.1)%

🌈 EXAMPLES 🌈

  1. use psst just for logging various power/thermal parameters:
sudo psst  # same as $./psst -s single-step,0.1 -p 500 -v
  1. linear ramp CPU power with slope 3% usage-per-sec applied for cpu 1 and 3, polling and reporting every 700mS, output on termial, running for 33 seconds:
sudo psst -s linear-ramp,3 -C a -p 700 -d 33000 -v

πŸ¦‹ AUTHOR πŸ¦‹

Started by Noor Mubeen πŸ’œ


Copyright Β© 2017, Intel Corporation License GPLv2: GNU GPL version 2

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law. Or, say, there is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

fr fr, that no-warranty thing is not a bit β€” it's the real deal, bestie. read it twice πŸ™ˆ.

and that's the whole page, angel πŸ’– this cutie dropped on November 28, 2017, and it's living under the General Commands Manual section β€” the manual name is right there in the header: PSST(1). go forth and stress some silicon responsibly, iykyk ✨🌸

πŸ“¦ where this page comes from