GPUの負荷を記録する方法を知りたい。 CUDAでNvidiaグラフィックカードを使用しています。
重複ではありません:ログに記録します。
それだけです。注意深く読みませんでした:)次のpythonスクリプトを使用して、オプションの遅延を使用し、iostatやvmstatのように繰り返します。
https://Gist.github.com/matpalm/9c0c7c6a6f3681a0d39d
Nvidia-settingsを使用することもできます。
nvidia-settings -q GPUUtilization -q useddedicatedgpumemory
...そして、いくつかの単純なbashループでそれをラップするか、cronジョブをセットアップするか、単にwatchを使用します。
watch -n0.1 "nvidia-settings -q GPUUtilization -q useddedicatedgpumemory" '
使用できます(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
使用する
nvidia-smi dmon -i 0 -s mu -d 5 -o TD
その後、これを簡単にログファイルにダンプできます。これは、5秒間隔でサンプリングされたデバイス0のgpu使用量です
#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
フラグの詳細については、manページを参照してください。