GPU-MON(1)

πŸ“¦
version 3.9.0 Β· 2 versions
  • 3.9.0 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 3.6.0 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ GPU-MON(1) ✨

okay bestie, so this is the gpu-mon page from the Ricks-Lab GPU Utilities manual β€” yes, the same family as all the other gpu-* girlies πŸ’… β€” and it's genuinely one of my faves because it's just vibes and numbers the whole time. sit down, get a snack πŸ“, we're doing this.


πŸ¦‹ NAME πŸ¦‹

gpu-mon β€” continuously update a table with the state of all compatible GPUs

like. it literally just sits there and keeps a table fresh. main character energy, no cap πŸ‘‘


🌸 SYNOPSIS 🌸

gpu-mon [--help | --about]
gpu-mon [--gui] [--no_fan] [--plot] [--ltz] [--sleep N] [--debug]
[--pdebug] [--verbose"]"

yes the last line really does end in [--verbose"]" β€” that's not me being quirky, that's literally what the page says, and I am NOT touching it, periodt. πŸ™ˆ


πŸ’– DESCRIPTION πŸ’–

okay so here's the tea: gpu-mon shows you the current state of all compatible GPUs. like all of them. at once.

the default behavior β€” the default default, no flags needed β€” is that it keeps continuously updating a text based table in the current window until you press Ctrl-C. that's it. that's the whole job. iconic.

now the fun stuff ✨

with the --gui option, a table of relevant parameters gets updated in a Gtk window</> instead of your terminal. fancy.

you can specify the delay between updates with the --sleep N option, where N is an integer > zero that specifies the number of seconds to sleep between updates. so like, don't be out here passing 0 or -3, bestie, the page said > zero, I'm just the messenger 🫢

the --no_fan option can be used to disable the reading and display of fan information. bye fan info πŸ’¨

the --log option is used to write all monitor data to a psv log file. and when you're writing to a log file, the utility will indicate this in red at the top of the window, with a message that includes the log file name. so you literally cannot miss it. the way that it warns you in RED?? obsessed 😭

the --plot option will display a plot of critical GPU parameters which updates at the specified --sleep N interval. and listen β€” if you need both the plot and monitor displays, then using the --plot option is preferred over running both tools, because a single read of the GPUs is used to update both displays. one read, two displays, efficiency queen πŸ‘‘

the --ltz option results in the use of local time instead of UTC. timezone girlies rise 🌈

and finally, the --verbose option will result in informational messages being displayed. she talks! πŸ’¬


πŸ’… OPTIONS πŸ’…

  • --about β€” Will display details about gpu-mon. little self-intro moment.
  • --gui β€” The table of relevant parameters will be updated in a Gtk window instead of a text table in the terminal window.
  • --log β€” Write all mon data to a logfile. The real-time display will indicate that logging is enabled and will show the filename used.
  • --ltz β€” Use local time zone instead of UTC for displays and logging.
  • --no_fan β€” Will exclude fan information from the display. Useful with water cooled GPUs. 🚰 (no fans to read, bestie!)
  • --pdebug β€” Will enable debug output for the gpu-plot plotting utility.
  • --plot β€” Open and write to, gpu-plot, the gpu-util plotting utility.
  • --sleep N β€” Specifies N, the number of seconds to sleep between updates.
  • --verbose β€” Display informational messages generated during execution.
  • --debug β€” Will output additional useful debug/troubleshooting details to a log file.
  • -h, --help β€” Display help text and exit.

πŸŽ€ EXAMPLES πŸŽ€

πŸ’œ example one πŸ’œ

gpu-mon --sleep 5 --log

Will display a continuously updating table of GPU operating parameters updating with an interval of 5 sec. All parameters will be written to a logfile which will be indicated in the table. The displayed parameters include GPU model, GPU and memory load percentage, power, power cap, energy consumption, temperature, voltage (not available for NV), fan speed, Sclk frequency/p-state, Mclk frequency/pstate, and performance mode. Updating of the table will continue until ctrl-c is pressed.

ngl that's a LOT of parameters and every single one of them is in there, I'm not skipping a single one 😀

🌸 example two 🌸

gpu-mon --gui

Will open a new Gtk window and display basic parameters updated with the default interval.

πŸ¦‹ example three πŸ¦‹

gpu-mon --plot

Will open 2 new Gtk windows. One will display the basic parameters and the second will display a continuously updating plot of these parameters. It is suggested that this method be used if both displays are desired, instead of executing both gpu-mon and gpu-plot, as the later will result in twice the reads of GPU data.


🌈 CONFIGURATION 🌈

In order to get maximum capability of these utilities, you should be running with a kernel that provides support of the GPUs you have installed. like, that's the foundation bestie, everything else is decoration.

If using AMD GPUs, installing the latest amdgpu driver package or the latest ROCm release may provide additional capabilities.

If you have Nvidia GPUs installed, nvidia-smi must also be installed in order for the utility reading of the cards to be possible.

⚠️ okay listen up, this part matters: Writing to GPUs is currently only possible for AMD GPUs, and only with compatible cards and with the AMD ppfeaturemask set to 0xfffd7fff. This can be accomplished by adding amdgpu.ppfeaturemask=0xfffd7fff to the GRUB_CMDLINE_LINUX_DEFAULT value in /etc/default/grub and executing sudo update-grub.

🧚 FILES 🧚

  • /usr/share/misc/pci.ids β€” The system list of all known PCI ID's (vendors, devices, classes and subclasses). It can be updated with the update-pciids command.
  • /sys/class/drm/card*/device/pp_od_clk_voltage β€” Special driver file for each AMD GPU required by some rickslab-gpu-utils.
  • /etc/default/grub β€” The grub defaults file where amdgpu.ppfeaturemask needs to be set.

😭 BUGS 😭

Known to not work well with Fiji ProDuo cards, and will issue warning messages for Fiji Nano cards. Please report any additional bugs/issues at https://github.com/Ricks-Lab/gpu-utils

not me feeling bad for the Fiji cards πŸ˜” they're trying their best

πŸ’« SEE ALSO πŸ’«

gpu-plot(1), amdgpu(4), nvidia-smi(1), update-grub(8), update-pciids(8), lspci(8)


πŸ‘‘ AVAILABILITY πŸ‘‘

The gpu-mon command is part of the rickslab-gpu-utils package and is available from https://github.com/Ricks-Lab/gpu-utils


okay and that's the whole page bestie, we did it, nothing skipped, nothing dropped, every single flag accounted for 🫢

this one's from the rickslab-gpu-utils girlies, May 2022 edition β€” and honestly? iconic of them. now go run gpu-mon --sleep 5 --log and watch the numbers do their little dance πŸ’–βœ¨πŸŒΈ