GPU 정보를 얻는 방법?


155

다음과 같은 정보를 제공하는 명령을 찾고 있습니다.

cat /proc/cpuinfo 

GPU (칩 및 메모리 유형, 주파수)는 제외합니다.


무엇을 cat /proc/cpuinfo 합니까? 어떤 정보를 찾고 있습니까?
Charlie Parker

1
@CharlieParker 그것은 CPU의 정보를 출력합니다 ...
Emobe

답변:


74

이러한 유형의 정보는 비표준이며 정보를 수집하는 데 사용할 도구는 매우 다양합니다.

이 명령 glxinfo은 드라이버가 올바르게 설치된 경우 공급 업체 이름을 포함하여 그래픽 프로세서에 대해 사용 가능한 모든 OpenGL 정보를 제공합니다.

클럭 속도 정보를 얻기 위해 표준 도구가 없습니다.

  • ATI / AMD GPU의 aticonfig --odgc경우 클럭 속도 aticonfig --odgt를 가져오고 온도 데이터를 가져옵니다.
  • NVIDIA GPU의 경우 nvclock프로그램은 동일한 정보를 가져옵니다.

오픈 소스 드라이버 나 인텔 또는 기타 GPU에 해당하는 도구를 알지 못합니다.

하드웨어에 대한 다른 정보는 lspcilshw도구 에서 가져올 수 있습니다 .


2
glxinfo를 설치하는 방법?
stiv

7
@ stiv : Mesa 라이브러리의 일부이며 mesa-utilsUbuntu에 패키지와 함께 제공됩니다 .
greyfade

2
aticonfigfglrx가 종료 된 이후에 사용할 수없는 것 같습니다. nvclock또한 마지막 버전이 신뢰할 수 있기 때문에 포기 된 것으로 보입니다. 업데이트 된 솔루션이 있습니까? 여기 까지 내가 가진 것들이 있습니다 .
Geek

2
glxinfo | grep "Device"인텔 GPU에서 충분히 잘 작동했습니다
John Hamilton

사용 :glxinfo | egrep -i 'device|memory'
danger89

152

나는 직접 동등한 것을 알지 못하지만 lshw 는 원하는 정보를 제공해야합니다.

sudo lshw -C display

(없이 작동 sudo하지만 정보의 정확성이 떨어질 수 있습니다)

lshw-gtkGUI를 얻기 위해 패키지 를 설치할 수도 있습니다 .


3
lshw-gtk가 작동하도록 메뉴에서 명령 앞에 gksu를 넣어야했습니다.
robin0800

업데이트가 있습니까? 나는 명령의 팬이지만 그것이 나를 위해 제공하는 것으로 보이는 유일한 클럭 속도 (주파수)는 기본 버스 클럭 33MHz입니다. 이 Q & A를 최신 상태로 유지하려고합니다. 감사합니다!
Geek

1
딥 러닝을 처음 사용하는 사과. GPU가 있다면 무엇을 말해야합니까? 그것은 말한다product: 2nd Generation Core Processor Family Integrated Graphics Controller
솔직한

80

명령 행에서 수행 된 작업에 초점을 맞춘 블로그 게시물은 다음과 같습니다.

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

장치 ID를 찾으십시오.

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

그런 다음이 출력을 lspci다시 사용 하여 두 개의 중첩 된 명령을 구성 할 수 있습니다.

lspci  -v -s  $(lspci | grep ' VGA ' | cut -d" " -f 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)64MB NVIDIA 카드가 있음을 나타냅니다. 그러나 나는 256MB가 아닙니다. 왜? 아래를 참조하십시오.

정보와 성능을 최대한 활용하는 방법을 보려면 Arch-Linux Wiki에 대한 매우 포괄적 인 기사를 읽으십시오.

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

들어 NVIDIA 사용자 로 시작

nvidia-smi

(이는 오픈 소스 'nouveau'드라이버를 실행하는 시스템이 아니라 설치된 Nvidia 드라이버에서 작동합니다.)

산출

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

이것은 256MB GDDR3 그래픽 카드가 있음을 나타냅니다.

현재 인텔 및 AMD / ATI GPU에서이 기능을 얻는 방법을 모르겠습니다.


12
+1 nvidia-smi(내 의견으로는 약간 강조 표시되어야 함)
Martin Thoma


2
이것은 정말로 받아 들여지는 대답이어야합니다!
INElutTabile

1
nvidia-smi전체 GPU 이름을 표시하지 않습니다.
mrgloom

48

google-chromeURL을 실행 하고 탐색 하십시오 about:gpu. 크롬이 OpenGL을 사용하는 방법을 알아 낸 경우 GPU에 대한 자세한 정보를 얻을 수 있습니다.


2
이것은 Chromium ( chromium-browser) 에서도 작동합니다 .
Eliah Kagan

영리한. 이 라인을 따라 chromeexperiments.com을 방문하여 성능을 확인했습니다. 부드러운 버터로 - 나는 GPU에 확실히 해요
Jacksonkr

30

catCPU 와 같은 명령을 지정 했으므로 이는 GPU와 동일합니다. 엔비디아 카드 전용. Nvidia 장치 드라이버 이외의 소프트웨어는로드 할 필요가 없습니다.

여기있는 경로는 내가 가진 카드에 적용됩니다. 그러나 귀하의 의견은 다른 사람들이 지적한 것처럼 다를 수 있습니다.

첫 번째 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

두 번째 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
감사! (하지만 cat /proc/driver/nvidia/gpus/0000\:01\:00.0/information나를 위해)
매트 윌키

1
이것은 glxinfo 또는 lspci가 모두 실패하는 온 디맨드 클라우드 / HPC 클러스터 환경에서 유일하게 정답입니다 (이는 OpenGL 및 디스플레이가 없기 때문에 전자가, 후자는 Matrox G200eW3와 같은 그래픽 컨트롤러로 nVidia 그래픽 카드가 추상화되기 때문에). gpus 아래의 폴더 이름은 0000:3b:00.0나에 0000:d8:00.0대한 것이므로 다음을 입력해야합니다 cat /proc/driver/nvidia/gpus/0000:3b:00.0/information.. 사랑스러운 Tesla V100-PCIE-16GB모델은 qsub원하는 작업 제한이 충족 되었음을 보여줍니다 .
user5280911

11

Nvidia 카드의 경우 다음을 입력하십시오.

nvidia-smi -q


7

가장 좋은 옵션은 neofetch 입니다.

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

이것은 다음과 같은 출력을 제공합니다.


3
이 답변에 비디오 카드 주파수와 메모리가 표시되지 않습니다. GPU 모델을 얻는 더 간단한 방법이 있습니다. 이것이 기존 답변에 무엇을 추가하는지 잘 모르겠습니다.
Geek

1
screenfetch프로그램은 동일한 작업을 수행하며 PPA를 설치할 필요가 없습니다.
Braden Best

쉘 스크립트입니다. 또한 나는 그것의 github에 링크 했으므로 스크립트로 사용할 수 있습니다.
HaoZeke

1
여기 screenfetch는 다음과 같습니다 github.com/KittyKatt/screenFetch
카밀 Goudeseune

5

Conky 또는 Terminal Splash Screen

두 가지 방법을 사용하여 nVidia GPU 및 Intel iGPU 정보를 자동으로 표시합니다.

  • Conky는 GPU 정보를 실시간으로 동적으로 표시합니다
  • ~/.bashrc 터미널을 열 때마다 GPU 정보를 표시합니다

Conky 실시간 디스플레이

이 예에서는 Conky를 사용하여 현재 GPU (nVidia 또는 Intel) 통계를 실시간으로 표시합니다. Conky는 많은 Linux 애호가들에게 인기있는 경량 시스템 모니터입니다.

prime-select intel또는 부팅 후 부팅 여부에 따라 표시가 변경 prime-select nvidia됩니다.

인텔 iGPU

GPU 온도 intel.gif

  • 인텔 iGPU는 Skylake GT2 HD 530 iGPU현재 주파수와 같이 표시됩니다
  • 최소 주파수는 350MHz이고 최대 주파수 는 1050MHz입니다.

엔비디아 GPU

GPU 온도 nvidia.gif

  • nVidia GPU는 GeForce GTX970M현재 GPU 주파수 및 온도와 같이 표시됩니다
  • 드라이버 버전, P- 상태 및 BIOS 버전이 표시됩니다
  • GPU로드, RAM 사용, 전력 소비 및 RAM 주파수가 표시됩니다

콘키 코드

다음은 Intel iGPU 및 nVidia GPU와 관련된 Conky 스크립트입니다.

#------------+
# 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를 등록하는 방법을 모른다고 언급합니다.

우분투 터미널 splash.png

설정에 대한 자세한 내용은 날씨, 달력, 시간 및 Sysinfo가 포함 된 터미널 시작 화면을 참조하십시오.

GPU 정보 (두 번째 마지막 줄)를 포함하는 Ubuntu 디스플레이가있는 하단 섹션에 대해서만 요약하면 다음과 같습니다.

sudo apt install screenfetch
screenfetch

터미널을 열 때마다 표시되도록 screenfetch명령을 ~/.bashrc파일 의 맨 아래에 배치하고 싶을 것 입니다.



3

모델과 메모리의 경우 제조업체 (Intel, AMD, NVIDIA)에 관계없이 테스트 한 모든 비디오 카드에 사용할 수있는 1 개의 라이너가 있습니다.

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 =이 모든 비트는 비디오 칩에 해당하는 VGA에 대해 'grep'을 통해 필터링 된 'lspci'출력에서 세 번째 필드를 가져옵니다.

RAM = 이 비트는 모두 "VGA"와 일치하는 cardid첫 번째 출력 필드와 동일하게 변수를 설정 하고 해당 특정 장치에 lspci대한 -v자세한 출력 요청으로 피드 하여 다음 을 포함하는 문자열 "prefetchable" 에 대해 추가로 필터링합니다. 카드 자체의 메모리 (출력에서 "프리 페치 불가능"과 일치하지 않기 위해 앞의 공간에 유의하십시오.lspci-sgrep

인텔 통합 그래픽의 클럭 속도 (I3 및 I5에서 테스트)

명령 실행 sudo find /sys -type f -name gt_cur* -print0 | xargs -0 cat 이 내 I3에있는 gt_cur_freq_mhz 파일을 찾기 위해 / SYS 트리를 심층적으로 /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhz하고 내용을 인쇄합니다. 매우 가벼운 부하되는 제 경우는 350검색된 최소 주파수에 대응하는 350 MHz 단위로 /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz실행시 glxgearsglmark2결과 1050검색된 최대 주파수에 대응로서 1050 MHz의/sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz

엔비디아 카드의 클럭 속도 :

nvidia-smi -stats -d procClkGPU 클럭에 nvidia-smi -stats -d memClk해당 메모리 클럭에 해당합니다.

참고 : 신뢰할 수있는 GeForce 210이 지원되지 않으므로 위의 내용을 테스트 할 수 없으며`nvidia-smi -stats --help '에 표시된대로 Kepler 또는 최신 GPU에서만 작동합니다

현재 AMD 카드에 클럭 속도에 대한 솔루션이 없으며 테스트에 사용할 수있는 하드웨어가 없습니다. 그러나 나는 내가 아는 aticonfig한, 인정 된 답변에 언급 된 내용이 더 이상 존재하지 않으며 nvclock신뢰할 수있는 이후로는 사용할 수없는 것으로 보입니다 .


2

crouton을 사용하여 크롬 북에서 Ubuntu를 실행하는 경우 작동하는 유일한 답변 chrome://gpu은 Chrome 브라우저입니다.


2

간단한 정보를 원한다면 gpustat을 사용해보십시오 . 아주 좋고 간단합니다.

gpustat 스크린 샷

작성자는 다음 설치 지침을 제공합니다.

PyPI에서 설치 :

pip install gpustat 

pip를 통해 최신 버전 (마스터 지점)을 설치하려면

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

루트 권한이없는 경우 사용자 네임 스페이스에 설치하십시오 : pip install --user. v0.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

2

이 답변은 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


1

Intel GMA950 (특히 EeePC와 함께 제공)의 경우 다음을 실행할 수 있습니다.

setpci -s 00:02.0 f0.b

200MHz의 경우 '00', 250MHz의 경우 '01'또는 400MHz의 경우 '03'을 반환합니다. 다른 인텔 카드에도 동일한 원칙을 적용 할 수 있습니다.


GPU가 00 : 02.0 인 VGA 호환 컨트롤러 : Intel Corporation Mobile GM965 / GL960 통합 그래픽 컨트롤러 (기본) (rev 03) (prog-if 00 [VGA controller])
johny 왜

1

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

엔비디아 GPU의 경우, nvidia-smi커맨드가 당신의 친구입니다. man nvidia-smi당신이 원하는 경우 참조하십시오 .

GPU를 나열하려면 nvidia-smi -L( nvidia-smi --list-gpus)을 사용 nvidia-smi -q하여 GPU 및 실행중인 프로세스에 대한 정보를 제공하십시오.


0

사용 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

그래픽 프로세서에 대한 모든 정보를 얻으려면 @greyfade에 지정된 다음 명령을 사용할 수 있습니다.

> glxinfo

그러나 프로그램 glxinfo이 현재 설치되어 있지 않은 경우 다음을 입력하여 설치할 수 있습니다.

> sudo apt install mesa-utils

라는 구성 요소를 활성화해야합니다 universe. 이 작업이 완료되면 glxinfo해당 환경의 그래픽 프로세서와 관련된 모든 사양이 나열됩니다.


0

컴퓨터에서 비디오 카드 이름 만 찾으려면 다음을 사용하십시오.

$ nvidia-smi --list-gpus

일부 최신 GPU의 경우 각 장치의 메모리도 나열됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.