Bagaimana cara mendapatkan info GPU?

156

Saya mencari perintah yang akan memberi saya info yang sama dengan:

cat /proc/cpuinfo 

Kecuali untuk GPU (jenis chip dan memori, frekuensi).

pengguna2413
sumber
apa: cat /proc/cpuinfo lakukan? info apa yang kamu cari?
Charlie Parker
1
@CharlieParker mengeluarkan informasi cpu ...
Emobe

Jawaban:

75

Jenis informasi itu tidak standar, dan alat yang akan Anda gunakan untuk mengumpulkannya sangat beragam.

Perintah ini glxinfoakan memberi Anda semua informasi OpenGL yang tersedia untuk prosesor grafis, termasuk nama vendornya, jika driver diinstal dengan benar.

Untuk mendapatkan informasi kecepatan jam, tidak ada alat standar.

  • Untuk GPU ATI / AMD, aticonfig --odgcakan mengambil laju jam, dan aticonfig --odgtakan mengambil data suhu.
  • Untuk GPU NVIDIA, nvclockprogram akan mengambil informasi yang sama.

Saya tidak mengetahui alat yang setara untuk driver open source atau untuk Intel atau GPU lainnya.

Informasi lain pada perangkat keras dapat diambil dari lspcidan lshwalat - alat.

greyfade
sumber
2
Bagaimana cara menginstal glxinfo?
stiv
7
@stiv: Ini bagian dari pustaka Mesa, dan dilengkapi dengan paket mesa-utilsdi Ubuntu.
greyfade
2
aticonfigtampaknya tidak tersedia sejak pensiunnya fglrx. nvclockjuga tampaknya telah ditinggalkan sejak versi terakhir untuk dipercaya. Apakah Anda punya solusi yang diperbarui? Inilah yang saya miliki sejauh ini ..
Penatua Geek
2
glxinfo | grep "Device"bekerja cukup baik untuk saya pada GPU Intel
John Hamilton
Saya menggunakan:glxinfo | egrep -i 'device|memory'
hazard89
154

Saya tidak tahu yang setara langsung, tetapi lshw harus memberi Anda info yang Anda inginkan, coba:

sudo lshw -C display

(Ini juga berfungsi tanpa sudotetapi info mungkin kurang lengkap / akurat)

Anda juga dapat menginstal paket lshw-gtkuntuk mendapatkan GUI.

Marcel Stimberg
sumber
3
Harus meletakkan gksu sebelum perintah di menu untuk mendapatkan lshw-gtk berfungsi.
robin0800
Adakah pembaruan? Saya penggemar perintah tetapi satu-satunya clock rate (frekuensi) yang sepertinya saya sediakan untuk saya adalah base bus clock 33MHz. Saya berusaha memperbarui T&J ini. Terima kasih!
Penatua Geek
1
Permintaan maaf, baru untuk Pembelajaran Jauh. Apa yang harus dikatakan jika saya memiliki GPU? Dikatakanproduct: 2nd Generation Core Processor Family Integrated Graphics Controller
jujur
80

Posting blog yang berfokus pada pekerjaan yang dilakukan pada command-line ada di sini:

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

Cari tahu ID perangkat:

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

Anda kemudian dapat menggunakan output ini dengan lspcilagi, membentuk dua perintah bersarang

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

Jika Anda memiliki lebih dari 1 kartu GPU, coba perintah yang setara ini sebagai gantinya:

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

Output dari sistem saya:

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

EDIT: Anda dapat menghindari <access denied>dengan meluncurkan dengansudo

Jadi, (prefetchable) [size=64M)menunjukkan bahwa saya memiliki kartu NVIDIA 64-MB. Namun, saya tidak, itu 256 MB. Mengapa? Lihat di bawah.

Untuk melihat bagaimana mendapatkan info dan kinerja terbaik darinya, baca artikel yang sangat komprehensif tentang Arch-Linux Wiki

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

Untuk pengguna nvidia , mulailah dengan

nvidia-smi

(Ini berfungsi dengan driver Nvidia yang diinstal, tetapi tidak dengan sistem yang menjalankan driver open-source 'nouveau').

Keluaran

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                                               |
+-----------------------------------------------------------------------------+

Ini menunjukkan bahwa saya memiliki kartu Grafis GDDR3 256 MB.

Saat ini, saya tidak tahu cara mendapatkan ini untuk Intel dan AMD / ATI GPU.

knb
sumber
12
+1 untuk nvidia-smi(yang seharusnya sedikit disoroti menurut saya)
Martin Thoma
Jika ada yang tahu: nvidia-smi hang tanpa batas: apa masalahnya?
Franck Dernoncourt
2
Ini benar-benar jawaban yang diterima!
INElutTabile
1
nvidia-smitidak menunjukkan nama GPU lengkap kepada saya.
mrgloom
48

Jalankan google-chromedan navigasikan ke URL about:gpu. Jika chrome mengetahui cara menggunakan OpenGL, Anda akan mendapatkan informasi yang sangat detail tentang GPU Anda.

Chris Uhlik
sumber
2
Ini juga berfungsi di Chromium ( chromium-browser).
Eliah Kagan
Pintar. Sepanjang baris ini saya juga pergi ke chromeexperiments.com untuk melihat kinerja di sana. Mulus seperti mentega - Saya pasti menggunakan GPU
Jacksonkr
30

Karena Anda menentukan perintah seperti catuntuk CPU, maka ini setara dengan GPU. Khusus untuk kartu Nvidia. Tidak memerlukan perangkat lunak selain driver perangkat Nvidia untuk dimuat.

Jalur di sini berfungsi untuk kartu yang saya miliki. Tapi milik Anda mungkin berbeda seperti yang ditunjukkan orang lain dalam komentar.

GPU 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

GPU ke-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
Matt H
sumber
7
Terima kasih! (meskipun cat /proc/driver/nvidia/gpus/0000\:01\:00.0/informationuntuk saya)
matt wilkie
1
Ini adalah satu-satunya jawaban yang benar di lingkungan cloud / HPC cluster on-demand di mana glxinfo atau lspci gagal (yang pertama karena tidak ada OpenGL dan tampilan, yang terakhir karena kartu grafis nVidia diabstraksi oleh pengontrol grafis seperti Matrox G200eW3). Nama folder di bawah GPU adalah 0000:3b:00.0atau 0000:d8:00.0bagi saya, jadi kami harus ketik: cat /proc/driver/nvidia/gpus/0000:3b:00.0/information. Model yang indah Tesla V100-PCIE-16GBmenunjukkan bahwa qsubbatas pekerjaan dipenuhi sesuai yang diinginkan.
user5280911
11

Untuk kartu Nvidia, ketik

nvidia-smi -q
Quanlong
sumber
7

Saya yakin opsi terbaik untuk ini adalah neofetch .

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

Ini memberikan output seperti ini:

HaoZeke
sumber
3
Saya tidak melihat frekuensi kartu video dan memori dalam jawaban ini. Ada metode yang jauh lebih sederhana untuk mendapatkan model GPU yang tampaknya hanya Anda berikan kepada kami. Saya tidak yakin apa ini menambah jawaban yang ada.
Penatua Geek
1
The screenfetchProgram melakukan hal yang sama dan tidak memerlukan PPA untuk menginstal.
Braden Best
Ini adalah skrip shell. Ditambah lagi, saya juga menautkannya ke github sehingga Anda bisa menggunakannya sebagai skrip.
HaoZeke
1
Berikut screenfetch: github.com/KittyKatt/screenFetch
Camille Goudeseune
5

Layar Conky atau Terminal Splash

Saya menggunakan dua metode untuk secara otomatis menampilkan informasi nVidia GPU dan Intel iGPU:

  • Conky secara dinamis menampilkan informasi GPU secara real time
  • ~/.bashrc menampilkan informasi GPU setiap kali terminal dibuka

Tampilan real time Conky

Contoh ini menggunakan Conky untuk menampilkan statistik GPU (nVidia atau Intel) saat ini secara real time. Conky adalah monitor sistem ringan yang populer di kalangan banyak penggemar Linux.

Tampilan berubah tergantung pada apakah Anda boot setelah prime-select intelatau prime-select nvidia.

Intel iGPU

gpu temp intel.gif

  • Intel iGPU menunjukkan Skylake GT2 HD 530 iGPUfrekuensi saat ini
  • Frekuensi minimum adalah 350MHz dan Maksimum adalah 1050MHz

nVidia GPU

gpu temp nvidia.gif

  • GPU nVidia menunjukkan GeForce GTX970Mfrekuensi dan suhu GPU saat ini
  • Versi Driver, P-State dan versi BIOS ditampilkan
  • Beban GPU, penggunaan RAM, Konsumsi Daya dan frekuensi RAM ditampilkan

Kode Conky

Berikut ini adalah skrip Conky yang relevan untuk Intel iGPU dan 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 Layar splash terminal

Contoh ini memodifikasi ~/.bashrcuntuk menampilkan informasi pada layar splash setiap kali terminal dibuka atau setiap kali Anda mengetik . .bashrcpada prompt shell.

Selain neofetchdijawab sebelumnya, ada screenfetchyang terlihat jauh lebih bagus (IMO). Ditambah jawaban lain menyebutkan dia tidak tahu bagaimana cara mendapatkan iGPU terdaftar dan ini melakukannya:

terminal ubuntu splash.png

Untuk detail pengaturan, lihat: Layar splash terminal dengan Cuaca, Kalender, Waktu & Sysinfo?

Singkatnya hanya untuk bagian bawah dengan tampilan Ubuntu yang berisi informasi GPU (baris terakhir kedua) gunakan:

sudo apt install screenfetch
screenfetch

Anda akan ingin menempatkan screenfetchperintah di bagian bawah ~/.bashrcfile Anda agar muncul setiap kali Anda membuka terminal.

WinEunuuchs2Unix
sumber
3

Ini benar-benar tidak rumit Untuk model dan memori, berikut adalah 1 liner yang berfungsi untuk setiap kartu video yang telah saya uji terlepas dari produsen (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 = Semua yang dilakukan bit ini adalah mengambil bidang ke-3 dari output 'lspci' yang difilter melalui 'grep' untuk VGA yang sesuai dengan chip video.

RAM = Semua yang dilakukan bit ini adalah menyetel variabel cardidsama dengan bidang output pertama dari lspcipencocokan "VGA" dan mengumpankannya sebagai permintaan untuk -voutput verbose dari perangkat lspcitertentu -s, selanjutnya memfilter output dengan grepstring "prefetchable" karena ini berisi memori pada kartu itu sendiri (perhatikan ruang sebelumnya karena kami tidak ingin mencocokkan "non-prefetchable" dalam output kami.

Untuk clock rate pada grafik terintegrasi Intel (Diuji pada I3 dan I5)

mengeksekusi perintah sudo find /sys -type f -name gt_cur* -print0 | xargs -0 cat Ini menyelam ke pohon / sys untuk menemukan file gt_cur_freq_mhz yang pada I3 saya /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhzdan mencetak konten. yang dalam kasus saya di bawah beban sangat ringan 350seperti pada 350 MHz yang sesuai dengan frekuensi minimum yang ditemukan /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhzdan ketika berjalan glxgearsdan glmark2menghasilkan 1050seperti pada 1050 MHz yang sesuai dengan frekuensi maksimum yang ditemukan di/sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz

Untuk tarif jam pada kartu nvidia:

nvidia-smi -stats -d procClksesuai dengan jam GPU nvidia-smi -stats -d memClksesuai dengan jam memori.

Catatan: Saya tidak dapat menguji di atas karena GeForce 210 saya yang terpercaya tidak didukung dan ini hanya berfungsi pada Kepler atau GPU yang lebih baru seperti yang ditunjukkan oleh `nvidia-smi -stats --help '

Saat ini saya tidak memiliki solusi untuk clock rate pada kartu AMD dan tidak memiliki perangkat keras yang tersedia untuk pengujian. Namun saya akan mengatakan bahwa aticonfigsejauh pengetahuan saya yang disebutkan dalam jawaban yang diterima tidak ada lagi dan tampaknya nvclocktidak tersedia untuk apa pun sejak dipercaya.

Penatua Geek
sumber
2

Jika Anda menjalankan Ubuntu di Chromebook dengan crouton, satu-satunya jawaban yang akan berfungsi adalah chrome://gpubrowser Chrome.

k26dr
sumber
2

Jika Anda ingin memiliki informasi sederhana, Anda dapat mencoba gpustat . Ini sangat bagus dan sederhana.

tangkapan layar gpustat

Penulis memberikan instruksi instalasi berikut:

Pasang dari PyPI:

pip install gpustat 

Untuk menginstal versi terbaru (cabang utama) melalui pip:

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

Jika Anda tidak memiliki hak istimewa root, coba untuk diinstal pada pengguna namespace: pip install --user. Perhatikan bahwa dari v0.4, gpustat.pytidak ada lagi yang dapat dieksekusi tanpa ketergantungan. Namun, dalam kasus yang jarang terjadi, Anda memerlukan satu skrip yang dapat dieksekusi (warisan), Anda juga dapat mencoba:

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
Nufa
sumber
2

Nah, jawaban ini mengasumsikan Anda memiliki server dengan NVIDIA-GPU. Anda memiliki tiga cara:

  1. Untuk mendapatkan intisari singkat: nvidia-smi

  2. Untuk mendapatkan rinci satu: nvidia-smi -q. Anda akan mendapatkan beberapa layar info terperinci jika Anda lebih dari 1 gpu.

  3. Lakukan a ls /proc/driver/nvidia/gpus/. Ini akan menampilkan lokasi bus-GPU sebagai folder. Sekarang, jalankan perintah berikut untuk masing-masing lokasi bus GPU. Isi <gpu-id>dengan lokasi bus:cat /proc/driver/nvidia/gpus/<gpu_id>/information

Sritanu Chakraborty
sumber
1

Untuk Intel GMA950 (khususnya dengan EeePC), Anda dapat menjalankan:

setpci -s 00:02.0 f0.b

yang akan mengembalikan '00' untuk 200MHz, '01' untuk 250MHz atau '03' untuk 400MHz. Anda mungkin dapat menerapkan prinsip yang sama untuk kartu Intel lainnya.


sumber
Saya mendapatkan 04. GPU saya adalah 00: 02.0 Pengontrol yang kompatibel VGA: Intel Corporation Mobile GM965 / GL960 Pengontrol Grafis Terintegrasi (primer) (rev 03) (prog-if 00 [pengontrol VGA])
johny why
1

Jika Anda memiliki Kartu AMD Radeon, Anda mungkin ingin menjalankan perintah berikut

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

Seharusnya melaporkan sesuatu seperti ini

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)
Nerrve
sumber
1

Untuk GPU nvidia, nvidia-smiperintah adalah teman Anda. Lihat man nvidia-smiapakah Anda suka.

Untuk mendaftarkan penggunaan GPU nvidia-smi -L( nvidia-smi --list-gpus), nvidia-smi -qberikan informasi tentang GPU dan proses yang berjalan.

Memin
sumber
0

Gunakan lspci, lspci -vuntuk mendapatkan info dasar, lihat di sini .

Dalam kasus saya untuk mantan begitu saya menjalankan lspcidan saya punya:

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
DINA TAKLIT
sumber
0

Untuk mendapatkan semua informasi tentang prosesor grafis, Anda dapat menggunakan perintah berikut seperti yang ditentukan oleh @greyfade.

> glxinfo

Namun, jika program glxinfosaat ini tidak diinstal, Anda dapat menginstalnya dengan mengetik:

> sudo apt install mesa-utils

Anda juga harus mengaktifkan komponen yang disebut universe. Setelah ini selesai, glxinfoakan mencantumkan semua spesifikasi yang terkait dengan prosesor grafis di lingkungan itu.

Nayantara Jeyaraj
sumber
0

Jika Anda hanya mencari nama-nama kartu video di mesin, maka cukup gunakan:

$ nvidia-smi --list-gpus

Untuk beberapa GPU yang lebih baru, ini juga mencantumkan memori masing-masing perangkat.

kmario23
sumber