Это лучшее, что я мог придумать:
nvidia-smi
ps -up `nvidia-smi |tail -n +16 | head -n -1 | sed 's/\s\s*/ /g' | cut -d' ' -f3`
Пример вывода:
Thu May 10 15:23:08 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.111 Driver Version: 384.111 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 108... Off | 00000000:0A:00.0 Off | N/A |
| 41% 59C P2 251W / 250W | 5409MiB / 11172MiB | 100% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1606 C ...master_JPG/build/tools/program.bin 4862MiB |
| 0 15314 C python 537MiB |
+-----------------------------------------------------------------------------+
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
user111+ 1606 134 4.8 32980224 789164 pts/19 Rl+ 15:23 0:08 /home/user111
user2 15314 0.4 10.0 17936788 1647040 pts/16 Sl+ 10:41 1:20 python server_
Краткое объяснение сценария:
Tail
и head
для удаления избыточных линий
Sed
для удаления пробелов (после этого каждый столбец будет разделяться только 1 пробелом)
Cut
для извлечения соответствующих столбцов
Вывод представляет собой список PID, каждый из которых занимает 1 строку. Нам нужно только использовать ps -up
, чтобы показать соответствующую информацию
ОБНОВЛЕНИЕ: лучшее решение:
ps -up `nvidia-smi |tee /dev/stderr |tail -n +16 | head -n -1 | sed 's/\s\s*/ /g' | cut -d' ' -f3`
Таким образом, nvidia-smi
нужно будет вызывать только один раз.
Смотри также:
Как вывести команду bash на стандартный вывод и передать одновременно другую команду?
ОБНОВЛЕНИЕ 2: Я загрузил это на Github в виде простого скрипта для тех, кому нужна подробная информация о графическом процессоре:
https://github.com/ManhTruongDang/check-gpu