Logs

如何記錄 GPU 負載?

  • July 21, 2017

我想知道如何記錄 GPU 負載。我使用帶有 CUDA 的 Nvidia 顯卡。

不重複:我想登錄。

採用

nvidia-smi dmon -i 0 -s mu -d 5 -o TD

然後您可以輕鬆地將其轉儲到日誌文件中。這是設備 0 的 GPU 使用情況,每 5 秒採樣一次

#Date       Time        gpu    fb  bar1    sm   mem   enc   dec   pwr  temp
#YYYYMMDD   HH:MM:SS    Idx    MB    MB     %     %     %     %     W     C
20170212   14:23:15      0   144     4     0     0     0     0    62    36
20170212   14:23:20      0   144     4     0     0     0     0    62    36
20170212   14:23:25      0   144     4     0     0     0     0    62    36

有關標誌的詳細資訊,請參見手冊頁。

您可以使用(用 測試nvidia-smi 352.63):

while true; 
do nvidia-smi --query-gpu=utilization.gpu --format=csv >> gpu_utillization.log; sleep 1; 
done. 

輸出將是(如果機器上連接了 3 個 GPU):

utilization.gpu [%]
96 %
97 %
92 %
utilization.gpu [%]
97 %
98 %
93 %
utilization.gpu [%]
87 %
96 %
89 %
utilization.gpu [%]
93 %
91 %
93 %
utilization.gpu [%]
95 %
95 %
93 %

從理論上講,您可以簡單地使用nvidia-smi --query-gpu=utilization.gpu --format=csv --loop=1 --filename=gpu_utillization.csv,但它似乎對我不起作用。(標誌-f--filename將輸出記錄到指定文件)。

要記錄更多資訊:

while true; 
do nvidia-smi --query-gpu=utilization.gpu,utilization.memory,memory.total,memory.free,memory.used --format=csv >> gpu_utillization.log; sleep 1; 
done

輸出:

utilization.gpu [%], utilization.memory [%], memory.total [MiB], memory.free [MiB], memory.used [MiB]
98 %, 15 %, 12287 MiB, 10840 MiB, 1447 MiB
98 %, 16 %, 12287 MiB, 10872 MiB, 1415 MiB
92 %, 5 %, 12287 MiB, 11919 MiB, 368 MiB
utilization.gpu [%], utilization.memory [%], memory.total [MiB], memory.free [MiB], memory.used [MiB]
90 %, 2 %, 12287 MiB, 11502 MiB, 785 MiB
92 %, 4 %, 12287 MiB, 11180 MiB, 1107 MiB
92 %, 6 %, 12287 MiB, 11919 MiB, 368 MiB
utilization.gpu [%], utilization.memory [%], memory.total [MiB], memory.free [MiB], memory.used [MiB]
97 %, 15 %, 12287 MiB, 11705 MiB, 582 MiB
94 %, 7 %, 12287 MiB, 11540 MiB, 747 MiB
93 %, 5 %, 12287 MiB, 11920 MiB, 367 MiB

引用自:https://unix.stackexchange.com/questions/252590