GPU bilgisi nasıl alınır?


155

Bana aynı bilgiyi verecek bir komut arıyorum:

cat /proc/cpuinfo 

GPU hariç (yonga ve belleğin türü, sıklığı).


ne yapar cat /proc/cpuinfo ? hangi bilgileri arıyorsun
Charlie Parker,

1
@CharlieParker bu cpu bilgilerini çıktılar ...
Emobe

Yanıtlar:


74

Bu tür bilgiler standart değildir ve bunları toplamak için kullanacağınız araçlar çok çeşitlidir.

Komut glxinfo, sürücüler doğru yüklendiyse, satıcı adı da dahil olmak üzere grafik işlemcisi için mevcut tüm OpenGL bilgilerini verecektir.

Saat hızı bilgisini almak için standart bir araç yoktur.

  • ATI / AMD GPU'lar aticonfig --odgciçin saat hızlarını ve aticonfig --odgtsıcaklık verilerini alır.
  • NVIDIA GPU'lar için nvclockprogram aynı bilgiyi getirecektir.

Açık kaynaklı sürücüler için veya Intel veya diğer GPU'lar için eşdeğer bir aracın farkında değilim.

Donanım hakkındaki diğer bilgiler lspcive lshwaraçlardan alınabilir .


2
Glxinfo nasıl kurulur?
stiv

7
@stiv: Mesa kütüphanesinin bir parçası ve mesa-utilsUbuntu paketinde geliyor .
greyfade

2
aticonfigfglrx'in emekli olmasından bu yana müsait görünmüyor. nvclockAyrıca son sürüm güvenilir olduğundan beri terk edilmiş görünüyor. Güncelleştirilmiş bir çözümünüz var mı? İşte şimdiye dek sahip olduğum şey ...
Elder Geek

2
glxinfo | grep "Device"Intel GPU'da benim için yeterince çalıştı
John Hamilton

glxinfo | egrep -i 'device|memory'
Kullanıyorum

152

Doğrudan bir eşdeğeri bilmiyorum, ancak lshw size istediğiniz bilgiyi vermeli, şunu deneyin:

sudo lshw -C display

(ayrıca olmadan çalışır sudoancak bilgi daha az tam / doğru olabilir)

lshw-gtkBir GUI almak için paketi de yükleyebilirsiniz .


3
Lshw-gtk işlevini çalıştırmak için menüdeki komuttan önce gksu'yu koymak zorunda kaldım.
robin0800

Herhangi bir güncelleme var mı? Komuta hayranıyım ama bana sağladığı görünen tek saat hızı (frekans) ana veri yolu saati 33MHz. Bu soru-cevap bilgisini güncellemeye çalışıyorum. Teşekkür ederim!
Elder Geek

1
Derin Öğrenme için yeni özürler. GPU’m varsa ne demeli? Diyor kiproduct: 2nd Generation Core Processor Family Integrated Graphics Controller
frank

80

Komut satırında yapılan çalışmalara odaklanan bir blog yazısı burada:

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

Cihaz kimliğini öğrenin:

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

Ardından bu çıkışı iki iç içe komutlspci oluşturarak tekrar kullanabilirsiniz.

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

1'den fazla GPU kartınız varsa, bunun yerine bu eşdeğer komutu deneyin:

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

Sistemimden çıktı:

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: <access denied>ile başlatarak önleyebilirsinizsudo

Yani, (prefetchable) [size=64M)64 MB NVIDIA kartım olduğunu gösterir. Ancak bilmiyorum, oldukça 256 MB. Neden? Aşağıya bakınız.

En iyi bilgiyi ve performansı nasıl elde edeceğinizi görmek için, Arch-Linux Wiki hakkında son derece kapsamlı bir makale okuyun.

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

İçin nvidia kullanıcıları , ile başlar

nvidia-smi

(Bu, Nvidia sürücülerinin kurulu olduğu, ancak açık kaynaklı 'nouveau' sürücüsünü çalıştıran sistemlerde çalışmadığı) çalışır.

Çıktı

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

Bu 256 MB GDDR3 Ekran Kartım olduğunu gösterir.

Şu anda, bunu Intel ve AMD / ATI GPU'larında nasıl alacağımı bilmiyorum.


12
+1 için nvidia-smi(bu bence biraz vurgulanmalıdır)
Martin Thoma


2
Bu gerçekten kabul edilen cevap olmalı!
INElutTabile

1
nvidia-smibana tam GPU adını göstermiyor.
mrgloom

48

google-chromeURL'yi çalıştırın ve gezinin about:gpu. Eğer krom OpenGL'in nasıl kullanılacağını çözdüyse, GPU'nuz hakkında son derece detaylı bilgi edineceksiniz.


2
Bu Chromium'da da çalışır ( chromium-browser).
Eliah Kagan

Zeki. Bu hatlar boyunca ayrıca, orada performansı görmek için chromeexperiments.com adresine gittim. Tereyağı gibi pürüzsüz - Kesinlikle gpu üzerindeyim
Jacksonkr

30

Çünkü CPU'larda olduğu gibi bir komut belirlediniz cat, bu nedenle GPU'lara eşdeğerdir. Özellikle Nvidia kartları için. Yüklenecek Nvidia aygıt sürücüsü dışında bir yazılım gerektirmez.

Buradaki yol sahip olduğum kartlar için çalışıyor. Ancak, diğerlerinin yorumlarda belirtildiği gibi sizinki farklı olabilir.

1. GPU

> 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. GPU

> 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

7
Teşekkürler! (gerçi cat /proc/driver/nvidia/gpus/0000\:01\:00.0/informationbenim için)
mat wilkie

1
Bu, istek üzerine bulut / HPC küme ortamındaki glxinfo veya lspci'nin her ikisinin de başarısız olduğu tek doğru cevaptır (birincisi OpenGL olmadığından ve göstermediğinden, nVidia grafik kartı Matrox G200eW3 gibi bir grafik denetleyicisi tarafından soyutlandığından dolayı). GPU'ları altında klasör adıdır 0000:3b:00.0ya 0000:d8:00.0benim için, bu yüzden yazmalısınız: cat /proc/driver/nvidia/gpus/0000:3b:00.0/information. Güzel Tesla V100-PCIE-16GBmodel, qsubiş limitinin istendiği şekilde karşılandığını gösteriyor .
user5280911



7

Bunun için en iyi seçeneğin neofetch olduğuna inanıyorum .

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

Bu şöyle bir çıktı verir:


3
Bu cevapta video kartı frekansını ve hafızasını göremiyorum. Bize verdiğiniz her şey gibi görünen GPU modelini elde etmek için çok daha basit yöntemler var. Bunun mevcut cevaplara ne eklediğinden emin değilim.
Elder Geek

1
screenfetchProgram aynı şeyi yapar ve yüklemek için bir PPA gerektirmez.
Braden Best

Bu bir kabuk betiği. Artı ben onun github ile de bağlantılı, böylece sadece bir komut dosyası olarak kullanabilirsiniz.
HaoZeke


5

Conky veya Terminal Splash Ekranı

NVidia GPU ve Intel iGPU bilgilerini otomatik olarak görüntülemek için iki yöntem kullanıyorum:

  • Conky, GPU bilgilerini gerçek zamanlı olarak dinamik olarak görüntüler.
  • ~/.bashrc Terminal her açıldığında GPU bilgisini görüntüler.

Conky gerçek zamanlı ekran

Bu örnek, mevcut GPU (nVidia veya Intel) istatistiklerini gerçek zamanlı olarak görüntülemek için Conky'yi kullanır. Conky, birçok Linux meraklısı arasında popüler olan hafif bir sistem monitörüdür.

Ekran, prime-select intelveya sonrasında önyüklemenize bağlı olarak değişir prime-select nvidia.

Intel iGPU

gpu sıcaklığı intel.gif

  • Intel iGPU Skylake GT2 HD 530 iGPUgeçerli frekansta olduğu gibi gösterir
  • Minimum frekans 350MHz ve Maksimum 1050MHz'dir

nVidia GPU

gpu sıcaklığı nvidia.gif

  • NVidia GPU, GeForce GTX970Mgeçerli GPU frekansı ve sıcaklığındaki gibi
  • Sürücü sürümü, P-State ve BIOS sürümü görüntülenir.
  • GPU yükü, RAM kullanımı, Güç Tüketimi ve RAM frekansı görüntülenir

Conky Kodu

Intel iGPU ve nVidia GPU için ilgili Conky betiği:

#------------+
# 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 Terminal açılış ekranı

Bu örnek, modifiye ~/.bashrcbir sıçrama ekranda tip her bir uç açıldıktan zaman ya da zaman bilgileri görüntülemek için . .bashrckabuk isteminde.

Daha neofetchönce cevaplananlara ek olarak , screenfetchçok daha hoş görünen (IMO) var. Ayrıca başka bir cevap, iGPU'yu nasıl listeleyeceğini bilmediğinden bahseder ve bunu yapar:

Ubuntu terminali splash.png

Kurulumla ilgili detaylar için bakınız: Hava durumu, Takvim, Zaman ve Sistem bilgileri içeren açılış ekranı

Özetle, sadece GPU bilgilerini içeren Ubuntu ekranlı alt bölüm için (ikinci satırın ikinci) kullanın:

sudo apt install screenfetch
screenfetch

screenfetchKomutu, ~/.bashrcher terminali açtığınızda görünmesi için dosyanın altına koymak isteyeceksiniz .



3

Bu gerçekten o kadar da karmaşık değil Model ve bellek için, üreticiden (Intel, AMD, NVIDIA) bağımsız olarak test ettiğim her ekran kartı için çalışan 1 astar:

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 = Bütün bu bit, 3. alanı, video çipine karşılık gelen VGA için 'grep' ile filtrelenen 'lspci' çıktısından alıyor.

RAM = Tüm bu bitler, "VGA" ile eşleşen cardidilk çıktı alanına eşit olarak ayarlanmıştır lspcive bu belirli cihaz için -vayrıntılı çıktı isteği olarak , daha sonra içerdiği gibi "önceden getirilebilir" dizesi için çıktıyı daha fazla filtreleyerek besler. Kartın üzerindeki hafıza (çıktımızdaki "önceden ayarlanamaz" ile eşleşmek istemediğimizden önceki boşluğa dikkat edin.lspci-sgrep

Intel tümleşik grafiklerdeki saat hızı için (I3 ve I5'te test edilmiştir)

komutu yürütün sudo find /sys -type f -name gt_cur* -print0 | xargs -0 cat Bu, / sys ağacına dalar ve I3'ümde bulunan /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhzve içeriği yazdıran gt_cur_freq_mhz dosyasını bulur . benim durumumda aşırı hafif yük altında 350bulunan /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhzve çalışan glxgearsve çalıştırırken bulunan minimum frekansa karşılık gelen ve 1050 MHz'deki glmark2sonuçta bulunan 1050ve bu frekansın içinde bulunan maksimum frekansa karşılık gelen 350 MHz'de olduğu gibi./sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz

Nvidia kartlarındaki saat ücretleri için:

nvidia-smi -stats -d procClkGPU saatine nvidia-smi -stats -d memClkkarşılık gelir, bellek saatine karşılık gelir.

Not: Güvenilirliğim GeForce 210 desteklenmediği için yukarıdakileri test edemiyorum ve bu yalnızca 'nvidia-smi -stats --help' tarafından belirtildiği gibi Kepler veya daha yeni GPU'larda çalışıyor

Şu anda AMD kartlarında saat hızı konusunda herhangi bir çözümüm yok ve test için kullanılabilecek donanıma sahip değilim. Ancak şunu söyleyebilirim ki, bildiğim kadarıyla aticonfig, kabul edilen cevabında belirtilen cevaplar artık mevcut değil ve nvclockgüvenilirlikten beri hiçbir şey için mevcut değil gibi görünüyor .


2

Ubuntu'yu kızarmış bir Chromebook'ta çalıştırıyorsanız, çalışacak yanıtlardan yalnızca biri chrome://gpuChrome tarayıcısında olacaktır.


2

Basit bir bilgiye sahip olmak istiyorsanız, gpustat'ı deneyebilirsiniz . Çok iyi ve basit.

gpustat ekran görüntüsü

Yazar aşağıdaki kurulum talimatlarını verir:

PyPI'den yükleyin:

pip install gpustat 

En son sürümü (ana dal) pip ile yüklemek için:

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

Kök ayrıcalığı yoksa, kullanıcı ad yüklemek deneyin: pip install --user. V0.4'ten itibaren gpustat.pyartık sıfır bağımlılık yapılabilir bir dosya olmadığını unutmayın. Ancak, nadir durumlarda, tek bir çalıştırılabilir komut dosyasına (eski) ihtiyaç duyacaksınız, ayrıca:

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

2

Peki, bu cevap NVIDIA-GPU'lara sahip bir sunucunuz olduğunu varsayar. Üç yolun var:

  1. Sadece kısa bir özü almak için: nvidia-smi

  2. Detaylı bir tane almak için: nvidia-smi -q. 1 gpu'dan fazla olursanız, ayrıntılı bilgilerin birden fazla ekranını alırsınız.

  3. Bir ls /proc/driver/nvidia/gpus/. GPU veri yolu konumunu klasörler halinde görüntüler. Şimdi, gpu veri yolu konumlarının her biri için aşağıdaki komutu çalıştırın. <gpu-id>Otobüs yerini doldurun :cat /proc/driver/nvidia/gpus/<gpu_id>/information


1

Intel GMA950 (özellikle EeePC ile birlikte gelir) için şunları yapabilirsiniz:

setpci -s 00:02.0 f0.b

200MHz için '00', 250MHz için '01' veya 400MHz için '03' döndürecektir. Aynı prensibi diğer Intel kartlarına da uygulayabilirsiniz.


04 yaşıyorum. GPU'm 00: 02.0 VGA uyumlu denetleyici: Intel Corporation Mobil GM965 / GL960 Tümleşik Grafik Denetleyici (birincil) (rev 03) (prog-if 00 [VGA denetleyici])
neden

1

Bir AMD Radeon Kartınız varsa, aşağıdaki komutları çalıştırmak isteyebilirsiniz.

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

Böyle bir şey rapor etmeli

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

NVIDIA GPU'lar için nvidia-smikomut arkadaşınızdır. Bak man nvidia-smibakalım beğenirsin.

GPU'ları kullanmak için use nvidia-smi -L( nvidia-smi --list-gpus), nvidia-smi -qgpu ve çalışan işlemler hakkında bilgi verin.


0

Kullanım lspci, lspci -vtemel bilgileri görebilirsiniz almak için buraya .

Eskiden benim için bir kez koşup lspcialdım:

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

Grafik işlemcisi ile ilgili tüm bilgileri almak için, aşağıdaki komutu @greyfade tarafından belirtilen şekilde kullanabilirsiniz.

> glxinfo

Ancak, program glxinfoşu anda yüklü değilse, şunu yazarak yükleyebilirsiniz:

> sudo apt install mesa-utils

Ayrıca adı verilen bileşeni de etkinleştirmeniz gerekir universe. Bu yapıldıktan sonra glxinfo, o ortamda grafik işlemcisiyle ilgili tüm özellikleri listeleyecektir.


0

Makinede yalnızca ekran kartlarının adlarını arıyorsanız, aşağıdakileri kullanın:

$ nvidia-smi --list-gpus

Bazı yeni GPU'lar için bu, her cihazın hafızasını da listeler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.