https://www.jianshu.com/p/ceb3c020e06b
1、nvidia-smi介紹
nvidia-sim簡稱NVSMI,提供監控GPU使用情況和更改GPU狀態的功能,是一個跨平台工具,支持所有標准的NVIDIA驅動程序支持的Linux和WindowsServer 2008 R2 開始的64位系統。這個工具是N卡驅動附帶的,只要裝好驅動,就會有這個命令
2、nvidia-smi常用命令介紹
1)顯示GPU當前的狀態:nvidia-smi

表格參數詳解:
-
GPU:本機中的GPU編號(有多塊顯卡的時候,從0開始編號)圖上GPU的編號是:0
-
Fan:風扇轉速(0%-100%),N/A表示沒有風扇
-
Name:GPU類型,圖上GPU的類型是:Tesla T4
-
Temp:GPU的溫度(GPU溫度過高會導致GPU的頻率下降)
-
Perf:GPU的性能狀態,從P0(最大性能)到P12(最小性能),圖上是:P0
-
Persistence-M:持續模式的狀態,持續模式雖然耗能大,但是在新的GPU應用啟動時花費的時間更少,圖上顯示的是:off
-
Pwr:Usager/Cap:能耗表示,Usage:用了多少,Cap總共多少
-
Bus-Id:GPU總線相關顯示,domain:bus:device.function
-
Disp.A:Display Active ,表示GPU的顯示是否初始化
-
Memory-Usage:顯存使用率
-
Volatile GPU-Util:GPU使用率
-
Uncorr. ECC:關於ECC的東西,是否開啟錯誤檢查和糾正技術,0/disabled,1/enabled
-
Compute M:計算模式,0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED
-
Processes:顯示每個進程占用的顯存使用率、進程號、占用的哪個GPU
2)隔幾秒刷新一下顯存狀態:nvidia-smi -l 秒數
隔兩秒刷新一下GPU的狀態:nvidia-smi -l 2

3) 將監控結果寫入文件,並且指定寫入文件的監控字段
nvidia-smi -l 1 --format=csv --filename=report.csv --query-gpu=timestamp,name,index,utilization.gpu,memory.total,memory.used,power.draw

-
-l:隔多久記錄一次,命令中寫的是1
-
--format:結果記錄文件格式是csv
-
--filename: 結果記錄文件的名字
-
--query-gpu:記錄哪些數據到csv文件
-
timestamp:時間戳
-
memory.total:顯存大小
-
memory.total:顯存使用了多少
-
utilization.gpu:GPU使用率
-
power.draw:顯存功耗,對應Pwr:Usage
上面是顯存監控中常用的幾個命令,如果還有什么參數想了解,可以通過:
nvidia-smi -h 命令查看
如果想調整結果記錄文件的字段,可以通過下面的命令查看對應的字段:
nvidia-smi --help-query-gpu
3 簡易測試腳本
nvidia-smi命令會實時記錄gpu的情況,如果想讓命令停止下來,需要手動執行ctrl-c,或者kill掉進程,為了便於使用,這里編寫了一個shell腳本,輸入:記錄文件名、執行時間,執行命令即可
將下面的腳本復制到文本,然后保存,chmod 755 XXX.sh 修改腳本執行權限,執行即可

#!/bin/bash**
# nvidia-smi執行時間函數
function timeout()
{
timeStart=`date +%s`
timeEnd=`date +%s`
#echo "starttime is $timeStart"
#echo "endtiem is $timeEnd"
i=$(($timeEnd - $timeStart))
timeout=$1
echo "timeout is :$timeout"
while ([ $i -ne $timeout ])
do
timeEnd=`date +%s`
i=$(($timeEnd - $timeStart))
done
}
nvidia-smi -l 1 --format=csv --filename=$1 --query-gpu=timestamp,name,index,utilization.gpu,memory.total,memory.used,power.draw &
echo "shell PID: $$"
echo "nvidia-smi PID: $!"
id=$!
echo $id
timeout $2
echo $id
kill -9 "$id"
作者:木子的毛線
鏈接:https://www.jianshu.com/p/ceb3c020e06b
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。