Ubuntu GPU檢查指南~nvidia-smi 的使用方法與設定步驟~

1. 前言

在 Ubuntu 上使用 GPU 時,準確檢查其狀態非常重要。特別是在深度學習或圖形渲染等工作中,了解 GPU 的使用狀況和驅動程式版本是必須的。本文將介紹 NVIDIA GPU 的管理工具 nvidia-smi 的使用方法,並說明如何在 Ubuntu 上檢查 GPU 資訊。

2. 使用 nvidia-smi 檢查 GPU 資訊

nvidia-smi 是一款命令列工具,可用於監控 NVIDIA GPU 的使用情況和記憶體用量。特別是在即時檢查 GPU 的運行狀況或獲取詳細資訊時非常方便。

基本用法

以下命令可用於即時檢查 GPU 的使用狀況和記憶體用量。

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1

此命令會顯示包括 GPU 使用率、記憶體使用量和可用記憶體等詳細資訊。此外,可以透過 -l 選項來指定更新間隔(單位為秒)。

顯示格式與檔案輸出

預設為表格格式顯示資訊,但也可以輸出為 CSV 格式以便處理。此外,若需要將資訊記錄到檔案中,可以使用 -f 選項指定輸出檔案路徑。

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /path/to/output.csv

透過此方法,可以將 GPU 使用狀況記錄為日誌,方便日後分析。

年収訴求

3. 使用 nvidia-smi 獲取處理程序資訊

使用 nvidia-smi 可以檢查目前正在使用 GPU 的處理程序資訊。這樣可以了解哪些程序正在使用 GPU 資源及其使用程度。

取得處理程序資訊

以下命令可用於檢查正在使用 GPU 的程序的 PID 和記憶體用量。

nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv,noheader

此命令將列出當前運行中的 GPU 程序及其記憶體使用量。

nvidia-smi pmon 子命令

nvidia-smi 還提供 pmon 子命令,可用於獲取更詳細的 GPU 使用程序資訊。

nvidia-smi pmon --delay 10 -s u -o DT

此命令會以指定的間隔顯示 GPU 程序資訊,並可透過 --delay 選項設定更新間隔(秒)。此外,也可以選擇顯示資訊的類型。

4. 安裝與驗證 NVIDIA 驅動程式

要在 Ubuntu 上使用 NVIDIA GPU,必須先安裝適當的 NVIDIA 驅動程式。以下是安裝和驗證驅動程式的步驟。

安裝驅動程式

首先,使用以下命令安裝適合系統的 NVIDIA 驅動程式。

sudo apt install nvidia-driver-510

安裝完成後,請重新啟動系統。

驗證安裝

重新啟動後,執行以下命令確認驅動程式是否安裝成功。

nvidia-smi

如果此命令顯示驅動程式版本和 CUDA 版本,則表示安裝成功。

5. 使用 TensorFlow 驗證 GPU 運行狀況

為了確認 GPU 是否正常運行,可以使用機器學習框架 TensorFlow 進行測試。

安裝 Anaconda

首先,安裝 Anaconda 並設置環境。

bash ./Anaconda3-2022.05-Linux-x86_64.sh
conda update -n base conda
conda update anaconda
conda update -y --all
conda install tensorflow-gpu==2.4.1

使用 TensorFlow 驗證運行狀況

接下來,檢查 TensorFlow 是否成功識別 GPU。

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

若輸出結果中顯示 GPU 設備,則表示 TensorFlow 已成功識別並可使用 GPU。

年収訴求

6. GPU 監控與日誌記錄

使用 nvidia-smi 可以即時監控 GPU 並記錄日誌,這有助於長期追蹤 GPU 的使用情況和優化性能。

定期監控

若要設定定期監控,可以使用 nvidia-smi-l 選項指定更新間隔。此外,也可以將結果記錄到檔案中。

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /var/log/gpu.log

使用 Python 綁定進行編程控制

nvidia-smi 支援 Python 綁定 (nvidia-ml-py),可透過 Python 程式獲取 GPU 資訊並進行進一步控制。這樣可以實現更高級的監控和管理功能。

7. 總結

nvidia-smi 是一款功能強大的工具,可用於檢查和管理 NVIDIA GPU 的使用狀況。本文介紹了 nvidia-smi 的基本使用方法,包括如何獲取處理程序資訊、安裝驅動程式及使用 TensorFlow 驗證 GPU 是否正常運行等步驟。希望這些內容能幫助您充分發揮 GPU 的性能,並優化系統運行。