Logs
如何記錄 GPU 負載?
我想知道如何記錄 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