nvidia-smi
是 NVIDIA 提供的一個命令行工具,用于監控和管理 NVIDIA GPU 設備。它可以幫助用戶查看 GPU 的狀態、溫度、內存使用情況、功耗等信息,并且可以執行一些管理操作,如設置 GPU 的運行模式、重置 GPU 等。
在使用 nvidia-smi
之前,首先需要確保系統已經安裝了 NVIDIA 驅動程序??梢酝ㄟ^以下步驟安裝:
nvidia-smi
如果命令執行成功并顯示 GPU 信息,說明驅動已經安裝。
如果沒有安裝驅動,可以通過以下方式安裝:
sudo apt-get update
sudo apt-get install nvidia-driver-<version>
其中 <version>
是你想要安裝的驅動版本號。
sudo yum install nvidia-driver-<version>
訪問 NVIDIA 驅動下載頁面,選擇適合你系統的驅動版本并下載。然后執行以下命令:
sudo sh NVIDIA-Linux-x86_64-<version>.run
在某些情況下,可能需要配置環境變量以確保 nvidia-smi
能夠正確識別 GPU 設備??梢酝ㄟ^以下方式配置:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
最基本的命令是直接運行 nvidia-smi
,它會顯示當前系統中所有 NVIDIA GPU 的狀態信息。
nvidia-smi
輸出示例:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.80.02 Driver Version: 450.80.02 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla V100-SXM2... On | 00000000:00:04.0 Off | 0 |
| N/A 35C P0 54W / 300W | 1094MiB / 16160MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
使用 -q
或 --query
選項可以查看更詳細的 GPU 信息。
nvidia-smi -q
輸出示例:
==============NVSMI LOG==============
Timestamp : Thu Oct 5 14:30:00 2023
Driver Version : 450.80.02
CUDA Version : 11.0
Attached GPUs : 1
GPU 00000000:00:04.0
Product Name : Tesla V100-SXM2-16GB
Product Brand : Tesla
Display Mode : Disabled
Display Active : Disabled
Persistence Mode : Enabled
Accounting Mode : Disabled
Accounting Mode Buffer Size : 4000
Driver Model
Current : N/A
Pending : N/A
Serial Number : 0324217071234
GPU UUID : GPU-12345678-1234-1234-1234-123456789012
Minor Number : 0
VBIOS Version : 88.00.4E.00.01
MultiGPU Board : No
Board ID : 0x400
GPU Part Number : 900-2G500-0000-000
Inforom Version
Image Version : G500.0204.00.02
OEM Object : 1.1
ECC Object : 5.0
Power Management Object : N/A
GPU Operation Mode
Current : Compute
Pending : Compute
GPU Virtualization Mode
Virtualization Mode : None
IBMNPU
Relaxed Ordering Mode : N/A
PCI
Bus : 0x00
Device : 0x04
Domain : 0x0000
Device Id : 0x1DB410DE
Bus Id : 00000000:00:04.0
Sub System Id : 0x12A210DE
GPU Link Info
PCIe Generation
Max : 3
Current : 3
Link Width
Max : 16x
Current : 16x
Bridge Chip
Type : N/A
Firmware : N/A
Replays Since Reset : 0
Tx Throughput : 0 KB/s
Rx Throughput : 0 KB/s
Atomic Caps Inbound : N/A
Atomic Caps Outbound : N/A
Fan Speed : N/A
Performance State : P0
Clocks Throttle Reasons
Idle : Not Active
Applications Clocks Setting : Not Active
SW Power Cap : Not Active
HW Slowdown : Not Active
Sync Boost : Not Active
SW Thermal Slowdown : Not Active
Display Clock Setting : Not Active
FB Memory Usage
Total : 16160 MiB
Used : 1094 MiB
Free : 15066 MiB
BAR1 Memory Usage
Total : 16384 MiB
Used : 2 MiB
Free : 16382 MiB
Compute Mode : Default
Utilization
GPU : 0 %
Memory : 0 %
Encoder : 0 %
Decoder : 0 %
ECC Mode
Current : Enabled
Pending : Enabled
ECC Errors
Volatile
Single Bit : 0
Double Bit : 0
Aggregate
Single Bit : 0
Double Bit : 0
Retired Pages
Single Bit ECC : 0
Double Bit ECC : 0
Pending Page Blacklist : N/A
Temperature
GPU Current Temp : 35 C
GPU Shutdown Temp : 95 C
GPU Slowdown Temp : 90 C
GPU Max Operating Temp : 88 C
Memory Current Temp : N/A
Memory Max Operating Temp : N/A
Power Readings
Power Management : Supported
Power Draw : 54.00 W
Power Limit : 300.00 W
Default Power Limit : 300.00 W
Enforced Power Limit : 300.00 W
Min Power Limit : 100.00 W
Max Power Limit : 300.00 W
Clocks
Graphics : 1380 MHz
SM : 1380 MHz
Memory : 877 MHz
Video : 1245 MHz
Applications Clocks
Graphics : N/A
Memory : N/A
Default Applications Clocks
Graphics : 1380 MHz
Memory : 877 MHz
Max Clocks
Graphics : 1530 MHz
SM : 1530 MHz
Memory : 877 MHz
Video : 1377 MHz
Max Customer Boost Clocks
Graphics : N/A
Clock Policy
Auto Boost : N/A
Auto Boost Default : N/A
Processes
GPU Memory Usage : N/A
使用 -q -d PIDS
選項可以查看當前正在使用 GPU 的進程信息。
nvidia-smi -q -d PIDS
輸出示例:
==============NVSMI LOG==============
Timestamp : Thu Oct 5 14:30:00 2023
Driver Version : 450.80.02
CUDA Version : 11.0
Attached GPUs : 1
GPU 00000000:00:04.0
Processes
Process ID : 1234
Type : C
Name : python
Used GPU Memory : 1094 MiB
使用 -l
或 --loop
選項可以實時監控 GPU 的狀態。默認情況下,每 1 秒刷新一次。
nvidia-smi -l
可以通過 -i
選項指定監控的 GPU 設備編號。
nvidia-smi -l -i 0
使用 -q -d TEMPERATURE
選項可以查看 GPU 的溫度信息。
nvidia-smi -q -d TEMPERATURE
輸出示例:
==============NVSMI LOG==============
Timestamp : Thu Oct 5 14:30:00 2023
Driver Version : 450.80.02
CUDA Version : 11.0
Attached GPUs : 1
GPU 00000000:00:04.0
Temperature
GPU Current Temp : 35 C
GPU Shutdown Temp : 95 C
GPU Slowdown Temp : 90 C
GPU Max Operating Temp : 88 C
Memory Current Temp : N/A
Memory Max Operating Temp : N/A
使用 -q -d POWER
選項可以查看 GPU 的功耗信息。
nvidia-smi -q -d POWER
輸出示例:
==============NVSMI LOG==============
Timestamp : Thu Oct 5 14:30:00 2023
Driver Version : 450.80.02
CUDA Version : 11.0
Attached GPUs : 1
GPU 00000000:00:04.0
Power Readings
Power Management : Supported
Power Draw : 54.00 W
Power Limit : 300.00 W
Default Power Limit : 300.00 W
Enforced Power Limit : 300.00 W
Min Power Limit : 100.00 W
Max Power Limit : 300.00 W
使用 -pm
或 --persistence-mode
選項可以設置 GPU 的持久模式。持久模式可以防止 GPU 在空閑時自動關閉,從而減少啟動時間。
nvidia-smi -pm 1
使用 -c
或 --compute-mode
選項可以設置 GPU 的計算模式。計算模式決定了 GPU 是否可以被多個進程共享。
nvidia-smi -c 0
其中 0
表示默認模式,允許多個進程共享 GPU。
在某些情況下,可能需要重置 GPU 以解決一些異常狀態??梢允褂?-r
或 --reset
選項來重置 GPU。
nvidia-smi -r
使用 -q -d UTILIZATION
選項可以查看 GPU 的使用率信息。
nvidia-smi -q -d UTILIZATION
輸出示例:
==============NVSMI LOG==============
Timestamp : Thu Oct 5 14:30:00 2023
Driver Version : 450.80.02
CUDA Version : 11.0
Attached GPUs : 1
GPU 00000000:00:04.0
Utilization
GPU : 0 %
Memory : 0 %
Encoder : 0 %
Decoder : 0 %
使用 -q -d MEMORY
選項可以查看 GPU 的內存使用情況。
nvidia-smi -q -d MEMORY
輸出示例:
==============NVSMI LOG==============
Timestamp : Thu Oct 5 14:30:00 2023
Driver Version : 450.80.02
CUDA Version : 11.0
Attached GPUs : 1
GPU 00000000:00:04.0
FB Memory Usage
Total : 16160 MiB
Used : 1094 MiB
Free : 15066 MiB
BAR1 Memory Usage
Total : 16384 MiB
Used : 2 MiB
Free : 16382 MiB
使用 -q -d ECC
選項可以查看 GPU 的 ECC 錯誤信息。
nvidia-smi -q -d ECC
輸出示例:
==============NVSMI LOG==============
Timestamp : Thu Oct 5 14:30:00 2023
Driver Version : 450.80.02
CUDA Version : 11.0
Attached GPUs : 1
GPU 00000000:00:04.0
ECC Mode
Current : Enabled
Pending : Enabled
ECC Errors
Volatile
Single Bit : 0
Double Bit : 0
Aggregate
Single Bit : 0
Double Bit : 0
Retired Pages
Single Bit ECC : 0
Double Bit ECC : 0
Pending Page Blacklist : N/A
nvidia-smi
命令無法執行問題描述: 執行 nvidia-smi
命令時,提示命令未找到。
解決方案: 確保 NVIDIA 驅動已經正確安裝,并且 nvidia-smi
的路徑已經添加到系統的 PATH
環境變量中。
export PATH=/usr/local/cuda/bin:$PATH
問題描述: GPU 溫度過高,可能導致系統不穩定或 GPU 損壞。
解決方案: 可以通過以下方式降低 GPU 溫度:
nvidia-settings -a "[gpu:0]/GPUFanControlState=1"
nvidia-settings -a "[fan:0]/GPUTargetFanSpeed=100"
nvidia-smi -i 0 -ac 2505,875
問題描述: 運行深度學習模型時,提示 GPU 內存不足。
解決方案: 可以通過以下方式優化 GPU 內存使用:
問題描述: GPU 使用率低,導致訓練速度慢。
解決方案: 可以通過以下方式提高 GPU 使用率:
nvidia-smi
是一個功能強大的工具,可以幫助用戶監控和管理 NVIDIA GPU 設備。通過本文的介紹,你應該已經掌握了 nvidia-smi
的基本用法和一些高級技巧。希望這些內容能夠幫助你更好地利用 GPU 資源,提升工作效率。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。