1. 程式人生 > 其它 >ubuntu伺服器檢視GPU和CPU實時使用情況

ubuntu伺服器檢視GPU和CPU實時使用情況

GPU

什麼是Nvidia-smi

  nvidia-smi是nvidia 的系統管理介面 ,其中smi是System management interface的縮寫,它可以收集各種級別的資訊,檢視視訊記憶體使用情況。此外, 可以啟用和禁用 GPU 配置選項 (如 ECC 記憶體功能)。

a.靜態檢視
  在終端輸入invidia-smi 即可實現GPU使用情況的靜態檢視。
b.動態檢視
在終端輸入nvidia-smi watch -n 1 nvidia-smi(-n後面的數字是更新的時間間隔。)即可實現動態檢視,按Ctrl+C退出。

表格引數詳解:

  • 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
      視訊記憶體佔用和GPU佔用是兩個不一樣的東西,顯示卡是由GPU和視訊記憶體等組成的,視訊記憶體和GPU的關係有點類似於記憶體和CPU的關係。跑caffe程式碼的時候視訊記憶體佔得少,GPU佔得多;跑TensorFlow程式碼的時候,視訊記憶體佔得多,GPU佔得少。

CPU使用情況檢視

top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員

第一行,任務佇列資訊,第一行,任務佇列資訊,同 uptime 命令的執行結果

系統時間:16:24:47
執行時間:up 5:49,
當前登入使用者: 4 user
負載均衡(uptime) load average: 0.06, 0.04, 0.01
average後面的三個數分別是1分鐘、5分鐘、15分鐘的負載情況。load average資料是每隔5秒鐘檢查一次活躍的程序數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了

第二行,Tasks — 任務(程序)

總程序:440total, 執行:1 running, 休眠:248 sleeping, 停止: 0 stopped, 殭屍程序: 0 zombie

第三行,cpu狀態資訊

0.3%us【user space】— 使用者空間佔用CPU的百分比。
0.1%sy【sysctl】— 核心空間佔用CPU的百分比。
0.0%ni【】— 改變過優先順序的程序佔用CPU的百分比
99.6%id【idolt】— 空閒CPU百分比
0.0%wa【wait】— IO等待佔用CPU的百分比
0.0%hi【Hardware IRQ】— 硬中斷佔用CPU的百分比
0.0%si【Software Interrupts】— 軟中斷佔用CPU的百分比

第四行,記憶體狀態

13190016+total, 12436525+free, 1572736 used, 5962168 buff/cache【快取的記憶體量】

第五行,swap交換分割槽資訊

998396 total, 998396 free, 0 used. 12892276+avail Mem【緩衝的交換區總量】
備註:可用記憶體=free + buff/cache + avail Mem
對於記憶體監控,在top裡我們要時刻監控第五行swap交換分割槽的used,如果這個數值在不斷的變化,說明核心在不斷進行記憶體和swap的資料交換,這是真正的記憶體不夠用了。
第四行中使用中的記憶體總量(used)指的是現在系統核心控制的記憶體數,
第四行中空閒記憶體總量(free)是核心還未納入其管控範圍的數量。
納入核心管理的記憶體不見得都在使用中,還包括過去使用過的現在可以被重複利用的記憶體,核心並不把這些可被重新使用的記憶體交還到free中去,因此在linux上free記憶體會越來越少,但不用為此擔心。

第七行以下:各程序(任務)的狀態監控

  • PID — 程序id
  • USER — 程序所有者
  • PR — 程序優先順序
  • NI — nice值。負值表示高優先順序,正值表示低優先順序
  • VIRT — 程序使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES
  • RES — 程序使用的、未被換出的實體記憶體大小,單位kb。RES=CODE+DATA
  • SHR — 共享記憶體大小,單位kb
  • S —程序狀態。D=不可中斷的睡眠狀態 R=執行 S=睡眠 T=跟蹤/停止 Z=殭屍程序
  • %CPU — 上次更新到現在的CPU時間佔用百分比
  • %MEM — 程序使用的實體記憶體百分比
  • TIME+ — 程序使用的CPU時間總計,單位1/100秒
  • COMMAND — 程序名稱(命令名/命令列)
    其餘的操作,參考連結。
    參考網址:https://www.cnblogs.com/yibeimingyue/p/11695058.html