명령 줄에서 nvidia 드라이버 버전을 얻는 방법은 무엇입니까?


답변:


140

를 사용하면 다음 nvidia-smi을 알 수 있습니다.

bwood@mybox:~$ nvidia-smi 
Mon Oct 29 12:30:02 2012       
+------------------------------------------------------+                       
| NVIDIA-SMI 3.295.41   Driver Version: 295.41         |                       
|-------------------------------+----------------------+----------------------+
| Nb.  Name                     | Bus Id        Disp.  | Volatile ECC SB / DB |
| Fan   Temp   Power Usage /Cap | Memory Usage         | GPU Util. Compute M. |
|===============================+======================+======================|
| 0.  GeForce GTX 580           | 0000:25:00.0  N/A    |       N/A        N/A |
|  54%   70 C  N/A   N/A /  N/A |  25%  383MB / 1535MB |  N/A      Default    |
|-------------------------------+----------------------+----------------------|
| Compute processes:                                               GPU Memory |
|  GPU  PID     Process name                                       Usage      |
|=============================================================================|
|  0.           Not Supported                                                 |
+-----------------------------------------------------------------------------+

2
내 centos 6.4 시스템에서 "-bash : nvidia-smi : command not found"오류가 발생합니다. 무엇이 문제일까요?
Shyamkkhadka 2017 년

@Shyamkkhadka PATH에 문제가있을 수 있습니다. 당신은 발견을 시도 할 수 있습니다 nvidia-smi과 같이 :locate nvidia-smi
브랜든 우드

@BrendanWood, find 명령을 사용하면 빈 출력이 표시됩니다. GPU 하드웨어도 없는지 의심됩니다. HPC이기 때문입니다. 그리고 ssh를 사용하여 원격에서 액세스하고 있습니다.
Shyamkkhadka

@Shyamkkhadka 네, 아마 그럴 것입니다. HPC는 일반적으로 GPU 클러스터가 아닌 경우 GPU가 없습니다. 사용 가능한 하드웨어는 lspci. 예 : stackoverflow.com/questions/10310250/…
Brendan Wood

@BrendanWood, 링크에서 제안한대로 "lspci | grep VGA"를 수행했을 때. 출력은 "lspci | grep VGA 01 : 03.0 VGA 호환 컨트롤러 : Advanced Micro Devices, Inc. [AMD / ATI] ES1000 (rev 02)"로 표시됩니다. 그래서 GPU 하드웨어가 있다고 생각합니다.
Shyamkkhadka 2011 년

101

모든 설치 및 커널에로드 된 NVIDIA 드라이버와 리눅스 시스템, 당신은 실행할 수 있습니다 :

cat /proc/driver/nvidia/version

현재로드 된 NVIDIA 커널 모듈의 버전을 가져 오려면 다음과 같이하십시오.

$ cat /proc/driver/nvidia/version 
NVRM version: NVIDIA UNIX x86_64 Kernel Module  304.54  Sat Sep 29 00:05:49 PDT 2012
GCC version:  gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 

5
"optirun 고양이 / PROC / 드라이버 / NVIDIA / 버전"당신이 (인해 NVIDIA 옵티머스 듀얼 GPU에) 꿀벌이 설치되어있는 경우 또는, 다음이 대신 실행
Shervin 년 Emami

5
이 기능은 다음과 같은 경우에 특히 유용합니다 nvidia-smi.Failed to initialize NVML: GPU access blocked by the operating system
DarioP 2015

1
내 centos 6.4 시스템에는 / proc / driver 안에 디렉토리 nvidia가 없습니다. 무엇이 문제일까요? 이로 인해 nvidia 드라이버 버전을 볼 수 없습니다.
Shyamkkhadka 2017 년

또한 당신은 출력을 얻을 수 유용 때 Failed to initialize NVML: Driver/library version mismatch부터를 nvidia-smi.
Sethos II

14

modinfo 트릭을 수행합니다.

root@nyx:/usr/src# modinfo nvidia|grep version:
version:        331.113

3
내 시스템에서 모듈은 nvidia_XXX내가 설치 한 주요 드라이버 시리즈에 해당하는 이름이 지정되었으며 modinfo와일드 카드 또는 부분 이름 일치를 지원하지 않기 때문에 modinfo $(find /lib/modules/$(uname -r) -iname nvidia_*.ko | head -1) | grep ^version:올바른 주요 및 부 드라이버 버전을 반환하는 이 작업을 수행해야했습니다 .
dragon788 jul.

1
우분투 18.04에서 내 버전 modinfo에는 --field명령 줄 옵션이 있습니다. 따라서 grep :을 건너 뛸 수 있습니다 modinfo nvidia --field version. 또한 우분투 16.04에서는 작동하지 않는 것 같습니다. 나는 항상 얻는다 ERROR: Module nvidia not found.
cheshirekow

11

Windows 버전 :

cd \ Program Files \ NVIDIA Corporation \ NVSMI

nvidia-smi


7

[참고 : 일부러 내 답변을 삭제하는 것이 아니므로 사람들이 삭제하는 방법을 알 수 있습니다.]

사용하는 경우 :

me@over_there:~$  dpkg --status nvidia-current | grep Version | cut -f 1 -d '-' | sed 's/[^.,0-9]//g'
260.19.06

배포판의 패키징 메커니즘을 통해 설치된 nVIDIA 드라이버 패키지 버전을 얻을 수 있습니다. 그러나 이것은 현재 커널의 일부로 실제로 실행되는 버전 이 아닐 수 있습니다.


11
실제로 설치되어 커널에서 사용중인 드라이버 버전을 알려주지는 않습니다. proc 파일 시스템을 사용하여 확인하십시오 .... 또한 이것은 데비안 스타일 배포판에서만 작동합니다.
talonmies

2
@Framester를 남겨 주셔서 감사합니다. 이것이 제가 한 첫 번째 일입니다 (그리고 그 잘못입니다!)
stephen

@Framester : 당신은 시스템을 완전히 게임했습니다! 난 그냥 당신이 악마 :-) 교활한 ... 유용한 오답에 당신에게 다른 일을했다
einpoklum

4

ccc의 답변을 확장하려면 카드 쿼리를 스크립트와 통합하려는 경우 Nvidia 사이트의 방법에 대한 정보가 있습니다.

https://nvidia.custhelp.com/app/answers/detail/a_id/3751/~/useful-nvidia-smi-queries

또한이 스레드가 powershell을 연구하는 것을 발견했습니다. 다음은 시작하기 위해 GPU에서 사용 가능한 실제 메모리를 가져 오는 유틸리티를 실행하는 예제 명령입니다.

# get gpu metrics
$cmd = "& 'C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi' --query-gpu=name,utilization.memory,driver_version --format=csv"
$gpuinfo = invoke-expression $cmd | ConvertFrom-CSV
$gpuname = $gpuinfo.name
$gpuutil = $gpuinfo.'utilization.memory [%]'.Split(' ')[0]
$gpuDriver = $gpuinfo.driver_version

이것은 받아 들여진 대답보다 드라이버 버전에 대한 질문에 더 잘 대답하지 않습니다
JR Utily

1
@JRUtily, 캐치 주셔서 감사합니다. 드라이버 버전을 얻는 방법을 보여주기 위해 코드를 업데이트했습니다. 건배!
Jeff Blumenthal

0

재현성을 위해 Linux 시스템에서 Python을 사용하는 프로그램에서 가져와야하는 경우 :

with open('/proc/driver/nvidia/version') as f:
    version = f.read().strip()
print(version)

제공합니다 :

NVRM version: NVIDIA UNIX x86_64 Kernel Module  384.90  Tue Sep 19 19:17:35 PDT 2017
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 

0

다음 명령을 사용하면됩니다. nvidia-smi -L

샘플 출력 : GPU 0 : Max-Q 디자인이 적용된 GeForce GTX 1660 Ti (UUID : GPU-64ff7c28-7905-a240-e063-91caf97ab792)

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