1. Wstęp
Korzystając z GPU w systemie Ubuntu, kluczowe jest dokładne monitorowanie jego stanu. Jest to szczególnie ważne w zadaniach takich jak uczenie głębokie i renderowanie grafiki, gdzie zrozumienie wykorzystania GPU oraz wersji sterowników jest niezbędne. Ten artykuł wyjaśnia, jak używać nvidia-smi, narzędzia do zarządzania GPU firmy NVIDIA, oraz dostarcza przewodnik po sprawdzaniu statusu GPU w Ubuntu.
2. Sprawdzanie informacji o GPU za pomocą nvidia-smi
nvidia-smi to narzędzie wiersza poleceń, które umożliwia monitorowanie użycia GPU NVIDIA, zużycia pamięci i innych szczegółów. Jest szczególnie przydatne do monitorowania w czasie rzeczywistym aktywności GPU oraz pobierania szczegółowych informacji o wykorzystaniu.
Podstawowe użycie
Poniższe polecenie wyświetla w czasie rzeczywistym użycie GPU oraz zużycie pamięci:
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1
To polecenie dostarcza szczegółowych informacji, w tym wykorzystania GPU, zużycia pamięci oraz dostępnej pamięci. Możesz także określić interwał aktualizacji w sekundach, używając opcji -l.
Format wyjścia i logowanie do pliku
Domyślnie wyjście jest wyświetlane w formacie tabelarycznym, ale możesz także wyeksportować je w formacie CSV, co ułatwia dalsze przetwarzanie. Jeśli chcesz zapisać informacje do pliku, użyj opcji -f, aby określić ścieżkę pliku wyjściowego.
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /path/to/output.csv
Ta metoda pozwala na logowanie użycia GPU w celu późniejszej analizy.

3. Pobieranie informacji o procesach za pomocą nvidia-smi
Korzystając z nvidia-smi, możesz uzyskać informacje o procesach aktualnie wykorzystujących GPU. Pomaga to zidentyfikować, które procesy zużywają zasoby GPU i w jakim stopniu.
Pobieranie informacji o procesach
Uruchom poniższe polecenie, aby sprawdzić PID oraz zużycie pamięci przez procesy korzystające z GPU:
nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv,noheader
To polecenie zwraca listę aktualnie uruchomionych procesów GPU wraz z ich zużyciem pamięci.
Podkomenda nvidia-smi pmon
Narzędzie nvidia-smi zawiera podkomendę o nazwie pmon, która dostarcza bardziej szczegółowych informacji o procesach GPU.
nvidia-smi pmon --delay 10 -s u -o DT
To polecenie wyświetla informacje o procesach GPU w określonych interwałach. Opcja --delay ustawia interwał aktualizacji w sekundach, a także możesz dostosować wyświetlane informacje.
4. Instalacja i weryfikacja sterowników NVIDIA
Aby używać GPU NVIDIA w Ubuntu, musisz zainstalować odpowiedni sterownik NVIDIA. Poniżej znajdują się kroki instalacji i weryfikacji sterownika.
Instalacja sterownika
Najpierw zainstaluj zalecany sterownik NVIDIA dla swojego systemu, używając następującego polecenia:
sudo apt install nvidia-driver-510
Po zakończeniu instalacji uruchom ponownie system.
Weryfikacja instalacji
Po ponownym uruchomieniu sprawdź, czy sterownik został poprawnie zainstalowany, używając następującego polecenia:
nvidia-smi
Jeśli polecenie wyświetli wersję sterownika oraz wersję CUDA, instalacja zakończyła się sukcesem.

5. Weryfikacja działania GPU przy użyciu TensorFlow
Aby potwierdzić, że GPU działa prawidłowo, możesz użyć TensorFlow, frameworka uczenia maszynowego, do testów.
Instalacja Anacondy
Najpierw zainstaluj Anacondę, aby skonfigurować środowisko.
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
Sprawdzanie rozpoznawania GPU przez TensorFlow
Następnie zweryfikuj, czy TensorFlow rozpoznaje GPU, uruchamiając następujące polecenie:
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
Jeśli urządzenie GPU pojawi się na liście, TensorFlow pomyślnie wykrył GPU.
6. Monitorowanie użycia GPU i logowanie
Używając nvidia-smi, możesz monitorować zużycie GPU w czasie rzeczywistym i zapisywać dane. Pomaga to śledzić wykorzystanie GPU przez dłuższy czas i optymalizować wydajność.
Konfigurowanie regularnego monitorowania
Aby skonfigurować okresowe monitorowanie, użyj opcji -l w nvidia-smi, aby określić interwał aktualizacji. Możesz także zapisywać wyjście do pliku.
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /var/log/gpu.log
Programowa kontrola przy użyciu powiązań Pythona
nvidia-smi udostępnia powiązania Pythona (nvidia-ml-py), umożliwiając programowe pobieranie informacji o GPU. To pozwala na dostosowane monitorowanie i kontrolę.

7. Zakończenie
nvidia-smi jest potężnym narzędziem do monitorowania i zarządzania użyciem GPU NVIDIA w systemie Ubuntu. Ten artykuł omówił jego podstawowe użycie, pobieranie informacji o procesach, instalację sterowników oraz weryfikację działania GPU z TensorFlow. Wykorzystaj te metody, aby maksymalizować wydajność GPU i optymalizować swój system.


![[Kompletny przewodnik po Lubuntu] Od instalacji do optymalizacji lekkiej dystrybucji Linuksa](https://www.linux.digibeatrix.com/wp-content/uploads/2024/09/image-375x236.png)
