Как получить информацию о GPU?

Я ищу команду, которая выдала бы мне ту же информацию, что и:

cat /proc/cpuinfo 

За исключением GPU (тип чипа и памяти, частота).

160
задан 15 December 2017 в 04:36

22 ответа

Этот тип информации является нестандартным, и инструменты, которые вы будете использовать для его сбора, сильно различаются.

Команда glxinfo предоставит вам всю доступную информацию OpenGL для графического процессора, включая имя поставщика, если драйверы установлены правильно.

Для получения информации о тактовой частоте нет стандартного инструмента.

  • Для графических процессоров ATI / AMD aticonfig --odgc будет получать тактовые частоты, а aticonfig --odgt будет получать данные о температуре.
  • Для графических процессоров NVIDIA программа nvclock будет получать ту же информацию.

Мне неизвестен эквивалентный инструмент для драйверов с открытым исходным кодом, для Intel или других графических процессоров.

Другая информация об оборудовании может быть получена из инструментов lspci и lshw.

0
ответ дан 15 December 2017 в 04:36

Если вы ищете только названия видеокарт на аппарате, просто используйте:

$ nvidia-smi --list-gpus

Для некоторых более новых графических процессоров, это также перечисляет память каждого устройства.

0
ответ дан 15 December 2017 в 04:36

Чтобы получить всю информацию о графическом процессоре, вы можете использовать следующую команду, указанную @greyfade.

> glxinfo

Однако, если программа glxinfo в настоящее время не установлена, вы можете установить ее, набрав:

> sudo apt install mesa-utils

Вам также придется включить компонент с именем universe. Как только это будет сделано, glxinfo перечислит все спецификации, относящиеся к графическому процессору в этой среде.

0
ответ дан 15 December 2017 в 04:36

Для графических процессоров NVIDIA команда nvidia-smi - ваш друг. Смотрите man nvidia-smi, если хотите.

Для перечисления графических процессоров используйте nvidia-smi -L (nvidia-smi --list-gpus), nvidia-smi -q предоставьте информацию о GPU и запущенных процессах.

0
ответ дан 15 December 2017 в 04:36

Для карт Nvidia введите

nvidia-smi -q
0
ответ дан 15 December 2017 в 04:36

Просто, чтобы найти основы, в соответствии с https://wiki.debian.org/NvidiaGraphicsDrivers#NVIDIA_Pprietary_Driver ,

lspci | grep VGA

Если вам нужно больше подробностей, смотрите @ ответ Кнб на этот же вопрос.

0
ответ дан 15 December 2017 в 04:36

Для Intel GMA950 (в частности, поставляется с EeePC) вы можете запустить:

setpci -s 00:02.0 f0.b

, который будет возвращать «00» для 200 МГц, «01» для 250 МГц или «03» для 400 МГц. Возможно, вы сможете применить тот же принцип к другим картам Intel.

0
ответ дан 15 December 2017 в 04:36

Сообщение в блоге, фокусирующееся на работе, сделанной на командной строке, здесь:

http://www.cyberciti.biz/faq/howto-find-linux-vga-video-card-ram/

Узнайте идентификатор устройства:

 lspci | grep ' VGA ' | cut -d" " -f 1
03:00.0

Можно затем использовать этот вывод с lspci снова, формирование двух вложенных команд

lspci  -v -s  $(lspci | grep ' VGA ' | cut -d" " -f 1)

Если у Вас есть больше чем 1 карта GPU, попробуйте эту эквивалентную команду вместо этого:

lspci | grep ' VGA ' | cut -d" " -f 1 | xargs -i lspci -v -s {}

Вывод от моей системы:

03:00.0 VGA compatible controller: NVIDIA Corporation G98 [Quadro NVS 295] (rev a1) (prog-if 00 [VGA controller])
    Subsystem: NVIDIA Corporation Device 062e
    Flags: bus master, fast devsel, latency 0, IRQ 24
    Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
    Memory at ec000000 (64-bit, prefetchable) [size=64M]
    Memory at f4000000 (64-bit, non-prefetchable) [size=32M]
    I/O ports at dc80 [size=128]
    [virtual] Expansion ROM at f7e00000 [disabled] [size=128K]
    Capabilities: <access denied>
    Kernel driver in use: nvidia

Править: Можно избежать <access denied> путем запуска с sudo

Так, (prefetchable) [size=64M) указывает, что у меня есть карта NVIDIA на 64 МБ. Однако я не делаю, это - скорее 256 МБ. Почему? Посмотрите ниже.

Чтобы видеть, как получить большую часть информации и производительности из нее, прочитайте чрезвычайно всестороннюю статью о Wiki Linux Дуги

https://wiki.archlinux.org/index.php/NVIDIA

Для пользователей Nvidia запустите с

nvidia-smi

(Это работает с установленными драйверами Nvidia, но не с системами, выполняющими открытый исходный код 'nouveau' драйвер).

Вывод

Thu Dec 19 10:54:18 2013       
+------------------------------------------------------+                       
| NVIDIA-SMI 5.319.60   Driver Version: 319.60         |                       
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro NVS 295      Off  | 0000:03:00.0     N/A |                  N/A |
| N/A   73C  N/A     N/A /  N/A |      252MB /   255MB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Compute processes:                                               GPU Memory |
|  GPU       PID  Process name                                     Usage      |
|=============================================================================|
|    0            Not Supported                                               |
+-----------------------------------------------------------------------------+

Это указывает, что у меня есть Видеокарта GDDR3 на 256 МБ.

В это время я не знаю, как получить это для Intel и AMD/ATI GPU.

81
ответ дан 15 December 2017 в 04:36

Используйте lspci, lspci -v для получения основной информации, см. здесь .

В моем случае для бывшего, когда я запускаю lspci, у меня есть:

dina@dina-X450LA:~$ lspci
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 1 (rev e4)
00:1c.2 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
02:00.0 Ethernet controller: Qualcomm Atheros QCA8171 Gigabit Ethernet (rev 10)
03:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe
03:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
0
ответ дан 15 December 2017 в 04:36

Clinfo

sudo apt-get install clinfo
clinfo

является аналогом glxinfo, но для OpenCL.

nvidia-settings

Смешивает время выполнения с некоторой статической информацией.

enter image description here

Подробнее: Как проверить, использует ли Ubuntu мою видеокарту NVIDIA?

0
ответ дан 15 December 2017 в 04:36

Я не знаю прямого эквивалента, но lshw должен дать вам информацию, которую вы хотите, попробуйте:

sudo lshw -C display

(это также работает без sudo, но информация может быть менее полным / точным)

Вы также можете установить пакет lshw-gtk, чтобы получить графический интерфейс.

0
ответ дан 15 December 2017 в 04:36

Если у Вас есть Карта AMD Radeon, можно хотеть выполнить следующие команды

sudo update-pciids #optional command, requires internet
lspci -nn | grep -E 'VGA|Display'

Это должно сообщить о чем-то вроде этого

00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Wani [Radeon R5/R6/R7 Graphics] [1002:9874] (rev c5)
03:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / R7 M520] [1002:6660] (rev ff)
1
ответ дан 15 December 2017 в 04:36

Для карт Nvidia.

1-й графический процессор

> cat /proc/driver/nvidia/gpus/0/information
Model:       GeForce GTX 680
IRQ:         24
GPU UUID:    GPU-71541068-cded-8a1b-1d7e-a093a09e9842
Video BIOS:      80.04.09.00.01
Bus Type:    PCIe
DMA Size:    40 bits
DMA Mask:    0xffffffffff
Bus Location:    0000:01.00.0

2-й графический процессор

> cat /proc/driver/nvidia/gpus/1/information
Model:       GeForce GTX 580
IRQ:         33
GPU UUID:    GPU-64b1235c-51fc-d6f1-0f0e-fa70320f7a47
Video BIOS:      70.10.20.00.01
Bus Type:    PCIe
DMA Size:    40 bits
DMA Mask:    0xffffffffff
Bus Location:    0000:08.00.0
0
ответ дан 15 December 2017 в 04:36

Я считаю, что лучшим вариантом для этого является neofetch .

# Get neofetch
sudo add-apt-repository ppa:dawidd0811/neofetch
sudo apt update
sudo apt get neofetch
# Run neofetch
neofetch

Это дает такой вывод:

0
ответ дан 15 December 2017 в 04:36

Носатый или терминальный экран-заставка

Я использую два метода для автоматического отображения Nvidia GPU и информация Intel iGPU:

  • Носатый динамично отображает информацию о GPU в режиме реального времени
  • ~/.bashrc дисплеи информация о GPU каждый раз терминал открыты

Носатое отображение в режиме реального времени

Этот пример использует Носатый для отображения текущего GPU (Nvidia или Intel) статистика в режиме реального времени. Носатый системный монитор легкого веса, популярный среди многих энтузиастов Linux.

Дисплей изменяется в зависимости от того, если Вы загрузились после prime-select intel или prime-select nvidia.

Intel iGPU

gpu temp intel.gif

  • Intel iGPU показывает как Skylake GT2 HD 530 iGPU с частотой тока
  • Минимальная частота 350 МГц и Максимум 1050 МГц

Nvidia GPU

gpu temp nvidia.gif

  • GPU Nvidia показывает как GeForce GTX970M с текущей частотой GPU и температурой
  • Версия драйвера, P-состояние и версия BIOS отображены
  • Загрузка GPU, использование RAM, Потребляемая мощность и частота RAM отображены

Носатый код

Вот является соответствующий Носатый сценарий для Intel iGPU и Nvidia GPU:

#------------+
# Intel iGPU |
#------------+
${color orange}${hr 1}${if_match "intel" == "${execpi 99999 prime-select query}"}
${color2}${voffset 5}Intel® Skylake GT2 HD 530 iGPU @${alignr}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_cur_freq_mhz)} MHz
${color}${goto 13}Min. Freq:${goto 120}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_min_freq_mhz)} MHz${color}${goto 210}Max. Freq:${alignr}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_max_freq_mhz)} MHz
${color orange}${hr 1}${else}
#------------+
# Nvidia GPU |
#------------+
${color2}${voffset 5}${execpi .001 (nvidia-smi --query-gpu=gpu_name --format=csv,noheader)} ${color1}@ ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.sm --format=csv,noheader)} ${alignr}${color1}Temp: ${color green}${execpi .001 (nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader)}°C
${color1}${voffset 5}Ver: ${color green}${execpi .001 (nvidia-smi --query-gpu=driver_version --format=csv,noheader)} ${color1} P-State: ${color green}${execpi .001 (nvidia-smi --query-gpu=pstate --format=csv,noheader)} ${alignr}${color1}BIOS: ${color green}${execpi .001 (nvidia-smi --query-gpu=vbios_version --format=csv,noheader)}
${color1}${voffset 5}GPU:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader)} ${color1}Ram:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.memory --format=csv,noheader)} ${color1}Pwr:${color green}${execpi .001 (nvidia-smi --query-gpu=power.draw --format=csv,noheader)} ${alignr}${color1}Freq: ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.mem --format=csv,noheader)}
${color orange}${hr 1}${endif}

~/.bashrc Терминальный экран-заставка

Этот пример изменяет ~/.bashrc для отображения информации об экране-заставке каждый раз, терминал открыт или каждый раз, когда Вы вводите . .bashrc при приглашении оболочки.

В дополнение к neofetch отвеченный ранее, существует screenfetch который выглядит намного более хорошим (IMO). Плюс другой ответ упоминает, что он не знает, как получить перечисленный iGPU, и это делает это:

ubuntu terminal splash.png

Для получения дополнительной информации на установке см.: Терминальный экран-заставка с Weather, Calendar, Time & Sysinfo?

Таким образом, только для нижней части разделяют с дисплеем Ubuntu, содержащим информацию о GPU (предпоследняя строка) использование:

sudo apt install screenfetch
screenfetch

Вы захотите поместить screenfetch управляйте нижней частью Вашего ~/.bashrc файл, чтобы иметь его появляется каждый раз, когда Вы открываете терминал.

5
ответ дан 15 December 2017 в 04:36

Это действительно не так уж сложно. Для модели и памяти, вот 1 вкладыш, который работает для каждой видеокарты, на которой я его тестировал, независимо от производителя (Intel, AMD, NVIDIA):

GPU=$(lspci | grep VGA | cut -d ":" -f3);RAM=$(cardid=$(lspci | grep VGA |cut -d " " -f1);lspci -v -s $cardid | grep " prefetchable"| cut -d "=" -f2);echo $GPU $RAM

GPU = Все, что делает этот бит, это захватывает 3-е поле из вывода 'lspci', отфильтрованного через 'grep' для VGA, который соответствует видеочипу.

RAM = Все, что делает этот бит, устанавливает переменную cardid равной первому полю вывода из lspci, совпадающему с «VGA», и передает его как запрос на -v подробный вывод из lspci для этого конкретного устройства -s, дополнительно фильтруя вывод по grep для строки «prefetchable», так как она содержит память на самой карте (обратите внимание на предыдущий пробел, так как мы не хотим совпадать с «non-prefetchable» "в нашем выводе.

Для тактовой частоты встроенной графики Intel (протестировано на I3 и I5)

выполните команду sudo find /sys -type f -name gt_cur* -print0 | xargs -0 cat. Это погружение в дерево / sys найти файл gt_cur_freq_mhz, который на моем I3 имеет значение /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhz и распечатывает содержимое, которое в моем случае при чрезвычайно малой нагрузке равно 350, как при 350 МГц, что соответствует минимальной частоте, найденной в /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz и при работе glxgears и glmark2 приводит к 1050 как к 1050 МГц, что соответствует максимальной частоте, найденной в /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz

Для тактовых частот на картах NVIDIA:

nvidia-smi -stats -d procClk Correspo nds для тактовой частоты графического процессора nvidia-smi -stats -d memClk соответствует тактовой частоте памяти.

Примечание. Я не могу проверить вышеупомянутое, поскольку моя верная GeForce 210 не поддерживается, и это работает только на Kepler или более новых графических процессорах, как указано `nvidia-smi -stats --help '

В настоящее время у меня нет решений для тактовой частоты на картах AMD, и у меня нет оборудования, доступного для тестирования. Однако я скажу, что, насколько мне известно, aticonfig, упомянутый в принятом ответе, больше не существует, и кажется, что nvclock не доступен ни для чего с момента доверия.

0
ответ дан 15 December 2017 в 04:36

Запустите google-chrome и перейдите к URL about:gpu. Если chrome понял, как использовать OpenGL, вы получите чрезвычайно подробную информацию о вашем GPU.

0
ответ дан 15 December 2017 в 04:36

Если вы хотите иметь простую информацию, вы можете попробовать gpustat . Это очень хорошо и просто.

gpustat screenshot

Автор дает следующие инструкции по установке:

Установка из PyPI:

pip install gpustat 

Чтобы установить последнюю версию (основную ветку) через pip:

pip install git+https://github.com/wookayin/gpustat.git@master 

Если у вас нет привилегии root, попробуйте установить в пространство имен пользователя: pip install --user. Обратите внимание, что начиная с версии 0.4 gpustat.py больше не является исполняемым файлом с нулевой зависимостью. Однако в редких случаях вам понадобится один исполняемый скрипт (устаревший), вы также можете попробовать:

wget https://raw.githubusercontent.com/wookayin/gpustat/v0.3.2/gpustat.py -O ~/.local/bin/gpustat chmod +x ~/.local/bin/gpustat    # Assuming ~/.local/bin is in your $PATH
0
ответ дан 15 December 2017 в 04:36

Если вы используете Ubuntu на Chromebook с гренками, единственный ответ, который будет работать, - это chrome://gpu в браузере Chrome.

0
ответ дан 15 December 2017 в 04:36

Ну, этот ответ предполагает, что у Вас есть сервер с NVIDIA-GPU. У Вас есть три пути:

  1. Для получения просто короткой сути: nvidia-smi

  2. Для получения подробного: nvidia-smi -q. Вы получите несколько экранов подробной информации если Вы больше чем 1 gpu.

  3. Делают ls /proc/driver/nvidia/gpus/. Это отобразит местоположение шины GPU как папки. Теперь, выполните следующую команду для каждого из местоположений шины gpu. Заливка <gpu-id> с местоположением шины: cat /proc/driver/nvidia/gpus/<gpu_id>/information

2
ответ дан 5 September 2019 в 09:34

Протестировано для GTX 1080Ti - Для тактовой частоты на карте nvidia -

nvidia-smi stats -d procClk corresponds to the Core clock 
nvidia-smi stats -d memClk corresponds to the Memory clock

Для мониторинга каждую секунду -

watch -n 1 nvidia-smi stats -d procClk -c 1

Для мониторинга подмножества устройств каждую секунду -

watch -n 1 nvidia-smi stats -d procClk -c 1 -i 0,1

На основе Elder Ответ компьютерщика с модификациями печати каждую секунду для проверки терморегулирования. Если ваш графический процессор подвергается дросселированию, procClk значительно упадет.

1
ответ дан 8 December 2019 в 01:53

Для проверки использования графических процессоров Intel существует intel_gpu_top, доступный начиная с xenial (https://packages.ubuntu.com/bionic/intel-gpu-tools ).

apt-get install intel-gpu-tools

Доступно всего несколько вариантов — см. man intel_gpu_top.

1
ответ дан 15 November 2020 в 20:17

Другие вопросы по тегам:

Похожие вопросы: