Мониторинг использования графического процессора имеет решающее значение для оптимизации производительности и выявления узких мест в приложениях, которые в значительной степени зависят от обработки графики. NVIDIA-SMI (интерфейс управления системой) — это мощный инструмент NVIDIA, который позволяет пользователям получать доступ к информации, связанной с графическим процессором, и отслеживать ее. В этой статье мы рассмотрим несколько методов получения статистики графического процессора в реальном времени с помощью NVIDIA-SMI в Windows, а также примеры кода для каждого метода. Давайте погрузимся!
Метод 1: использование командной строки
Доступ к NVIDIA-SMI можно получить через командную строку, что обеспечивает быстрый и простой метод мониторинга использования графического процессора. Откройте командную строку и введите следующую команду:
nvidia-smi -l 1
Эта команда будет отображать статистику графического процессора каждую секунду, предоставляя в режиме реального времени обновления об использовании графического процессора, температуре, использовании памяти и т. д.
Метод 2: создание сценариев Python с использованием модуля подпроцесса
Python предоставляет удобный способ взаимодействия с инструментами командной строки с помощью модуля subprocess. Используя этот модуль, мы можем выполнить команду nvidia-smiиз сценария Python. Вот пример:
import subprocess
import time
while True:
result = subprocess.run(['nvidia-smi'], capture_output=True, text=True)
print(result.stdout)
time.sleep(1)
Этот сценарий непрерывно запускает команду nvidia-smi, записывает выходные данные и выводит их на консоль. Функция time.sleep(1)используется для введения задержки в 1 секунду между каждой итерацией.
Метод 3: Библиотека управления NVIDIA (NVML) с Python
Библиотека управления NVIDIA (NVML) предоставляет программный интерфейс для доступа к информации, связанной с графическим процессором. Чтобы использовать NVML в Python, установите пакет pynvml, используя pip. Вот пример фрагмента кода:
import pynvml
import time
pynvml.nvmlInit()
device_count = pynvml.nvmlDeviceGetCount()
while True:
for i in range(device_count):
handle = pynvml.nvmlDeviceGetHandleByIndex(i)
utilization = pynvml.nvmlDeviceGetUtilizationRates(handle)
print(f"GPU {i}: {utilization.gpu}%")
time.sleep(1)
pynvml.nvmlShutdown()
Этот сценарий инициализирует NVML, получает количество доступных графических процессоров и непрерывно печатает процент использования графического процессора для каждого устройства.
Мониторинг использования графического процессора в Windows необходим для оптимизации производительности и выявления узких мест в производительности. В этой статье мы рассмотрели несколько методов доступа и использования NVIDIA-SMI, включая использование командной строки, создание сценариев Python с модулем subprocessи использование библиотеки управления NVIDIA (NVML) с Python. Включив эти методы в свой рабочий процесс, вы сможете получить ценную информацию об использовании графического процессора и принять обоснованные решения по оптимизации приложений, интенсивно использующих графический процессор.