ATOPGPUD(8)
π ATOPGPUD(8) π
okay so bestie, welcome to atopgpud β the GPU statistics daemon β straight out of the System Manager's Manual. she's on the Linux side of the fam and honestly she's kind of the backbone of the whole GPU-watching situation. let's get into it π
β¨ SYNOPSIS β¨
atopgpud [-v]
that's it. that's the whole vibe check. one optional flag, no drama. π¦
π DESCRIPTION π
so what does atopgpud actually do? she gathers statistical info from all the NVIDIA GPUs in the current system. with a sampling rate of one second, she keeps the stats of every single GPU β both globally (system level) and per process. and when atopgpud is active on the target system, atop (with the flag -k) connects to this daemon via a UNIX domain socket and pulls GPU statistics for each interval. the way they communicateβ¦ iconic. π«Ά
okay but why a whole separate daemon, you ask? valid question, here's the tea β β the NVIDIA driver only offers the GPU busy percentage of the last second. so imagine atop runs with a 10-minute interval and just fetched the GPU busy percentage directly from the NVIDIA driver β it would reflect the busy percentage of the last second instead of the average busy percentage during 600 seconds. not the move. π therefore atopgpud fetches the GPU busy percentage every second and accumulates it into a counter that atop can retrieve regularly. same approach applies to the other GPU statistics too. consistency queen π
good news: there is no need to run the atopgpud daemon with root privileges. she doesn't need the power, she's humble like that.
heads up bestie π¨ β certain GPU statistics are only delivered for specific GPU types. for older or less sophisticated GPUs, the value-1is returned for counters that are not maintained. in the output ofatop, these counters show up as'N/A'. not a bug, just the hardware being real about its limits π
and when no NVIDIA GPUs can be found in the target system, atopgpud immediately terminates with exit code 0. she simply leaves. no goodbye. π
log messages get written via the rsyslogd daemon with facility 'daemon'. and with the -v flag (verbose), atopgpud also logs debug messages. so if you want the whole story, you know what to do β¨
πΈ INSTALLATION πΈ
atopgpud is written in Python, so a Python 3 interpreter should be installed on the target system. the daemon depends on the Python module pynvml to interface with the Nvidia driver β you can install this module with the pip or pip3 command, and it's usually packaged under the name nvidia-ml-py. π
also, the pynvml module is a Python wrapper around the libnvidia-ml shared library, and that needs to be installed as well. both of them, bestie. don't skip.
now β after installing the atop package, atopgpud is not automatically started, and the service will not be enabled by default. she waits for you to make the first move π
when you want to activate this service (permanently), enter the following commands as root:
systemctl enable atopgpu
systemctl start atopgpu
two lines. slay. done. β
π¦ INTERFACE DESCRIPTION π¦
client processes can connect to the atopgpud daemon using the abstract socket name 'atopgpud_nvidia'. once connected, such a client can send a request of two bytes, consisting of one byte request code followed by one byte integer being the API version number. π§
the request code in the first byte:
- can be
'T'to obtain information about the GPU types installed in this system (usually only requested once) - can be
'S'to obtain all statistical counter values (requested for every interval)
now for the response π β the response of the daemon starts with a 4-byte integer. the first byte is the API version number that determines the response format, while the subsequent three bytes indicate the length (big endian order) of the response string that follows.
in the response strings, the character '@' introduces system level information of one specific GPU, and the character '#' introduces process level information related to that GPU. π
for further details about the meaning of the counters in a response string, please consult the source code. iykyk π
π₯ SEE ALSO π₯
π AUTHOR π
Gerlof Langeveld (gerlof.langeveld@atoptool.nl) β the main character who wrote all this. respect. π«‘
and that's the whole page, bestie π this edition dropped on Linux in September 2025, and honestly? ate. periodt. πβ¨πΈ
π¦ where this page comes from
- arch rolling: atop 2.13.0-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms