Skip to content

Instantly share code, notes, and snippets.

@padeoe
Last active April 22, 2024 13:32
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save padeoe/771c4972ae185c9a7d3d497fa4e1ecab to your computer and use it in GitHub Desktop.
Save padeoe/771c4972ae185c9a7d3d497fa4e1ecab to your computer and use it in GitHub Desktop.
Show Username & full process command with nvidia-smi

This script enhances the functionality of nvidia-smi and provides the following information:

  • Username
  • full process Command
  • GPU ID
  • PID

This is useful on multi-user servers and can be used to quickly identify which user is using the GPU and running what kind of program.

nvidia-smi && (nvidia-smi |tr -s ' '|grep -Eo "| [0123456789]+ N/A N/A [0-9]{3,} .*"|awk -F' ' '{system("s=$(cat /proc/"$4"/cmdline| tr \"\\0\" \" \");u=$(ps -o uname= -p "$4");echo "$1"sep"$4"sep$u sep"$7"sep$s" ) }'|sed 's/sep/\t/g')

The output is like this

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      3296      C   python                                      5825MiB |
|    0     21266      C   /opt/conda/bin/python                       6319MiB |
|    1      3296      C   python                                       137MiB |
|    1      8063      C   /usr/bin/python                              273MiB |
|    1     21266      C   /opt/conda/bin/python                       4735MiB |
|    1     30439      C   /usr/bin/python                              199MiB |
|    2      3296      C   python                                       137MiB |
|    2     21266      C   /opt/conda/bin/python                       4735MiB |
+-----------------------------------------------------------------------------+
0   3296    user1   5825MiB python playground2.py
0   21266   user2   6319MiB /opt/conda/bin/python -u /cail/model.py
1   3299    root    137MiB  python playground2.py
1   8063    root    273MiB  /usr/bin/python -u /sentsim/cli_predict.py
1   21266   root    4735MiB /opt/conda/bin/python -u /cail/model.py
1   30439   root    199MiB  /usr/bin/python -u /sentsim/train.py
2   3296    root    137MiB  python playground2.py
2   21266   root    4735MiB /opt/conda/bin/python -u /cail/model.py

For convenience, you can alias the command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment