nvidia-smi — инструмент для управления и мониторинга NVIDIA. Утилита командной строки для графического процессора. Он предоставляет простой и мощный способ просмотра использования графического процессора, температуры, использования памяти и другой информации, а также выполнения некоторых основных операций управления. Эта статья будетпредставлять Как использоватьnvidia-smiА также общие варианты использования и параметров.。
nvidia-smi обычно используется вместе с драйвером видеокарты NVIDIA. Если у вас уже есть соответствующий драйвер, вы можете запустить nvidia-smi прямо из командной строки.
plaintextCopy codenvidia-smi
Если nvidia-smi недоступен,вам нужно убедиться, что у вас есть правильный УстановитьNVIDIAДрайвер видеокарты。Вы можете посетитьОфициальный сайт NVIDIAЗагрузите и Установитьпоследний Драйвер видеокартыпрограмма。
Когда вы запустите команду nvidia-smi, будет отображена информация обо всех доступных графических процессорах NVIDIA в текущей системе. Будут указаны индекс, температура, использование и другая информация для каждого графического процессора. Запустите следующую команду, чтобы просмотреть информацию о графическом процессоре в вашей системе:
bashCopy codenvidia-smi
Вы увидите вывод, аналогичный следующему:
plaintextCopy code+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.39 Driver Version: 460.39 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla T4 Off | 00000000:00:1E.0 Off | 0 |
| N/A 41C P8 8W / 70W | 0MiB / 15109MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
Кроме того, nvidia-smi поддерживает множество других параметров командной строки для получения более подробной информации о графическом процессоре и выполнения некоторых операций управления.
Ниже приведены распространенные параметры команды nvidia-smi:
--list-gpus
:Только списокGPUИндекс、имя и общий объем памяти.--query-gpu=QUERY
:Используйте операторы запроса, чтобы получить более подробную информациюGPUинформация。Например,использовать--query-gpu=temperature.gpu,fan.speed,memory.total,memory.used
доступныйGPUтемпература、скорость вентилятора и состояние памяти.--format=FORMAT
:Укажите выходной формат,Включая csv, json, xml и т. д.--display=DISPLAY
:Указатьинформацияотображается, в которомGPUначальство。--gpu-reset
:Сбросить указанноеGPU。--help
:показать помощьинформация。Вот некоторые варианты использования Примера:
bashCopy codenvidia-smi --list-gpus
bashCopy codenvidia-smi --query-gpu=temperature.gpu,memory.used --format=csv
bashCopy codenvidia-smi --display=1
bashCopy codenvidia-smi --gpu-reset=2
Мы можем выбрать подходящие опции и параметры в соответствии с реальными потребностями.
nvidia-smi — бесплатная утилита командной строки для управления и мониторинга графических процессоров NVIDIA. Он предоставляет множество функций и опций, позволяющих пользователям легко просматривать состояние, производительность и использование памяти графического процессора. С nvidia-smi пользователи могут лучше понимать и управлять ресурсами своего графического процессора. Надеюсь, эта статья поможет вам понять и использовать nvidia-smi. Если у вас есть дополнительные вопросы о nvidia-smi, обратитесь к официальной документации или другим ресурсам для получения дополнительной информации.
В некоторых сценариях приложений с интенсивным использованием графического процессора,Очень важно своевременно следить за температурой графического процессора. Ниже приведен пример кода,Получите температуру графического процессора с помощью nvidia-smi,и отправляет предупреждение, когда температура превышает пороговое значение.
pythonCopy codeimport subprocess
import smtplib
from email.mime.text import MIMEText
def get_gpu_temperature():
result = subprocess.run(['nvidia-smi', '--query-gpu=temperature.gpu', '--format=csv,noheader'], capture_output=True, text=True)
temperatures = result.stdout.strip().split('\n')
return [int(temp) for temp in temperatures]
def send_email_alert(message):
sender_email = 'your_email@example.com'
receiver_email = 'recipient_email@example.com'
password = 'your_email_password'
msg = MIMEText(message)
msg['Subject'] = 'GPU Temperature Alert'
msg['From'] = sender_email
msg['To'] = receiver_email
with smtplib.SMTP_SSL('smtp.example.com', 465) as smtp:
smtp.login(sender_email, password)
smtp.send_message(msg)
# Установить порог температуры
temperature_threshold = 80
# Получить температуру графического процессора
gpu_temperatures = get_gpu_temperature()
# Проверьте, не превышает ли температура какого-либо графического процессора пороговое значение, и если да, отправьте оповещение по электронной почте.
for i, temp in enumerate(gpu_temperatures):
if temp > temperature_threshold:
message = f'GPU {i} temperature is {temp}°C, exceeding the threshold of {temperature_threshold}°C!'
send_email_alert(message)
пожалуйста, обрати внимание,Перед запуском приведенного выше кода примера,Убедитесь, что ваша система правильно установлена и настроена с помощью инструмента командной строки nvidia-smi.,и вы правильно настроилиSMTPсерверинформация。 начальствоописывать Пример Код вызываетnvidia-smi
Заказ Получить температуру графического процессораинформация,ииспользоватьsubprocess
захват модуля Заказ Выход выполнения。Затем,Он сравнивает полученную температуру с заданным порогом.,Если температура любого графического процессора превышает порог,будет отправлено оповещение по электронной почте。 Вы можете изменять и расширять его в соответствии с фактическими потребностями, например, добавляя такие функции, как запланированные проверки и запись исторических данных о температуре.
Примечание. Код примера предоставляет только базовую структуру.,При реальном применении необходимо вносить соответствующие изменения и корректировки в соответствии с конкретными обстоятельствами. в то же время,Если вы хотите перехватывать исключения и отправлять оповещения по электронной почте при аномальной температуре графического процессора.,Также необходимо настроить соответствующие механизмы обработки ошибок и циклов.,Обеспечить надежность и стабильность кода. кроме того,при отправке электронной почты,Пожалуйста, используйте SMTP-сервер легально,и соблюдать соответствующие политики безопасности и конфиденциальности.