답변:
Nvidia GPU에는 nvidia-smi
메모리 사용, GPU 사용률 및 GPU 온도를 표시 할 수 있는 도구 가 있습니다. 컴퓨팅 프로세스 목록과 몇 가지 옵션이 있지만 그래픽 카드 (GeForce 9600 GT)는 완벽하게 지원되지 않습니다.
Sun May 13 20:02:49 2012
+------------------------------------------------------+
| NVIDIA-SMI 3.295.40 Driver Version: 295.40 |
|-------------------------------+----------------------+----------------------+
| Nb. Name | Bus Id Disp. | Volatile ECC SB / DB |
| Fan Temp Power Usage /Cap | Memory Usage | GPU Util. Compute M. |
|===============================+======================+======================|
| 0. GeForce 9600 GT | 0000:01:00.0 N/A | N/A N/A |
| 0% 51 C N/A N/A / N/A | 90% 459MB / 511MB | N/A Default |
|-------------------------------+----------------------+----------------------|
| Compute processes: GPU Memory |
| GPU PID Process name Usage |
|=============================================================================|
| 0. Not Supported |
+-----------------------------------------------------------------------------+
watch -n 0.5 nvidia-smi
터미널을 출력으로 채우지 않고 출력을 업데이트 된 상태로 유지합니다.
watch -d -n 0.5 nvidia-smi
더 나아질 것입니다.
-d
국기의 기능 을 설명하는 것이 더 좋을 것
man watch
은 -d
플래그가 출력 간의 차이를 강조하므로 시간이 지남에 따라 변화하는 메트릭을 강조하는 데 도움이됩니다.
최근에는 gpustat
(의 래퍼 인 nvidia-smi
) 라는 간단한 명령 줄 유틸리티를 작성했습니다 . https://github.com/wookayin/gpustat을 살펴보십시오 .
인텔 GPU의를 위해 존재 intel-gpu-tools
에서 http://intellinuxgraphics.org/ 명령을 제공합니다 프로젝트 intel_gpu_top
(다른 것들 사이)를. 그것은과 유사 top
하고 htop
있지만, 특히 인텔 GPU합니다.
render busy: 18%: ███▋ render space: 39/131072
bitstream busy: 0%: bitstream space: 0/131072
blitter busy: 28%: █████▋ blitter space: 28/131072
task percent busy
GAM: 33%: ██████▋ vert fetch: 0 (0/sec)
GAFS: 3%: ▋ prim fetch: 0 (0/sec)
VS: 0%: VS invocations: 559188 (150/sec)
SF: 0%: GS invocations: 0 (0/sec)
VF: 0%: GS prims: 0 (0/sec)
DS: 0%: CL invocations: 186396 (50/sec)
CL: 0%: CL prims: 186396 (50/sec)
SOL: 0%: PS invocations: 8191776208 (38576436/sec)
GS: 0%: PS depth pass: 8158502721 (38487525/sec)
HS: 0%:
TE: 0%:
GAFM: 0%:
SVG: 0%:
nvidia-smi
일부 리눅스 컴퓨터에서는 작동하지 않습니다 (많은 속성에 대해서는 N / A를 반환합니다). nvidia-settings
대신 사용할 수 있습니다 (이것은 매트 켈시가 파이썬 스크립트에서 사용한 것이기도합니다).
nvidia-settings -q GPUUtilization -q useddedicatedgpumemory
다음을 사용할 수도 있습니다.
watch -n0.1 "nvidia-settings -q GPUUtilization -q useddedicatedgpumemory"
지속적인 모니터링을 위해.
nvidia-settings -q all
모니터링 할 수있는 어떤 다른 매개 변수를 볼 수 있습니다. 모니터링 GPUCurrentProcessorClockFreqs
하고 GPUCurrentClockFreqs
있습니다.
nvidia-settings -q [gpu:0]/UsedDedicatedGPUMemory -t
Linux의 경우이 HTOP을 내가 작성한 도구처럼 사용합니다. 코어 / VRAM / PCI-E 및 메모리 버스 사용량뿐만 아니라 GPU 온도에 대한 개요를 모니터링하고 제공합니다. 그래도 GPU에서 실행중인 것을 모니터링하지 않습니다.
nvidia-settings
항상 실행되는 X11이 필요합니다.
GeForce 1060 GTX 비디오 카드가 있는데 다음 명령을 통해 카드 사용률, 온도, 팬 속도 및 전력 소비에 대한 정보를 얻을 수 있습니다.
$ nvidia-smi --format=csv --query-gpu=power.draw,utilization.gpu,fan.speed,temperature.gpu
다음을 사용하여 모든 쿼리 옵션 목록을 볼 수 있습니다.
$ nvidia-smi --help-query-gpu
memory.used
또는 ( memory.free
)도 추가 할 가치가 있습니다.
GPU 관련 기능을 지원하는 atMonitor의 마지막 버전은 atMonitor 2.7.1입니다.
– 2.7.1 링크는 2.7b를 제공합니다.
최신 버전의 앱의 경우 atMonitor-FAQ에 설명되어 있습니다.
atMonitor가 MacOS 10.8과 호환되도록하기 위해 모든 GPU 관련 기능을 제거했습니다.
NVIDIA GeForce 9600M GT가 장착 된 MacBookPro5,2로 Mountain Lion에서 2.7b 일명 2.7.1을 실험했습니다. 종료하기 전에 앱이 몇 초 동안 실행되었으며 온도는 표시되었지만 사용법은 표시되지 않았습니다.
프로세스가 종료되었거나 (아마 죽었거나 중단 된) 리소스를 계속 사용했지만에 나열되지 않았습니다 nvidia-smi
. 일반적으로 이러한 프로세스는 GPU 메모리를 사용했습니다.
GPU에서 리소스를 사용하는 프로세스가 있고에 표시되지 않는 것으로 생각되면 nvidia-smi
이 명령을 실행하여 다시 확인할 수 있습니다. GPU를 사용중인 프로세스가 표시됩니다.
sudo fuser -v /dev/nvidia*
이것은 EL7, Ubuntu 또는 다른 배포판에서 작동하며 다른 이름 / 위치에 nvidia 장치가 나열되어있을 수 있습니다.
Glances에는 GPU 사용률 및 메모리 사용량을 보여주는 플러그인이 있습니다.
http://glances.readthedocs.io/en/stable/aoa/gpu.html
nvidia-ml-py3 라이브러리를 사용합니다 : https://pypi.python.org/pypi/nvidia-ml-py3
Linux의 NVIDIA의 경우 선택적 지연을 사용하고 iostat 및 vmstat와 같은 반복되는 다음 Python 스크립트를 사용합니다
https://gist.github.com/matpalm/9c0c7c6a6f3681a0d39d
$ gpu_stat.py 1 2
{"util":{"PCIe":"0", "memory":"10", "video":"0", "graphics":"11"}, "used_mem":"161", "time": 1424839016}
{"util":{"PCIe":"0", "memory":"10", "video":"0", "graphics":"9"}, "used_mem":"161", "time":1424839018}
NVIDIA GPU nvtop
와 유사 htop
하지만을 사용할 수 있습니다 . 링크 : https://github.com/Syllo/nvtop
다음 함수는 GPU에서 실행중인 PID, 사용자 이름, CPU 사용량, 메모리 사용량, GPU 메모리 사용량, 프로그램 인수 및 프로세스 실행 시간과 같은 정보를 출력에 추가합니다 nvidia-smi
.
function better-nvidia-smi () {
nvidia-smi
join -1 1 -2 3 \
<(nvidia-smi --query-compute-apps=pid,used_memory \
--format=csv \
| sed "s/ //g" | sed "s/,/ /g" \
| awk 'NR<=1 {print toupper($0)} NR>1 {print $0}' \
| sed "/\[NotSupported\]/d" \
| awk 'NR<=1{print $0;next}{print $0| "sort -k1"}') \
<(ps -a -o user,pgrp,pid,pcpu,pmem,time,command \
| awk 'NR<=1{print $0;next}{print $0| "sort -k3"}') \
| column -t
}
출력 예 :
$ better-nvidia-smi
Fri Sep 29 16:52:58 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 378.13 Driver Version: 378.13 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GT 730 Off | 0000:01:00.0 N/A | N/A |
| 32% 49C P8 N/A / N/A | 872MiB / 976MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
| 1 Graphics Device Off | 0000:06:00.0 Off | N/A |
| 23% 35C P8 17W / 250W | 199MiB / 11172MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 Not Supported |
| 1 5113 C python 187MiB |
+-----------------------------------------------------------------------------+
PID USED_GPU_MEMORY[MIB] USER PGRP %CPU %MEM TIME COMMAND
9178 187MiB tmborn 9175 129 2.6 04:32:19 ../path/to/python script.py args 42
이 스크립트는 더 읽기 쉽고 쉽게 개조하고 확장 할 수 있도록 설계되었습니다.
gnome-terminal을 자주 사용하는 터미널 창 프로그램으로 바꿀 수 있습니다.
#! /bin/bash
if [ "$1" = "--guts" ]; then
echo; echo " ctrl-c to gracefully close"
f "$a"
f "$b"
exit 0; fi
# easy to customize here using "nvidia-smi --help-query-gpu" as a guide
a='--query-gpu=pstate,memory.used,utilization.memory,utilization.gpu,encoder.stats.sessionCount'
b='--query-gpu=encoder.stats.averageFps,encoder.stats.averageLatency,temperature.gpu,power.draw'
p=0.5 # refresh period in seconds
s=110x9 # view port as width_in_chars x line_count
c="s/^/ /; s/, +/\t/g"
t="`echo '' |tr '\n' '\t'`"
function f() { echo; nvidia-smi --format=csv "$1" |sed -r "$c" |column -t "-s$t" "-o "; }
export c t a b; export -f f
gnome-terminal --hide-menubar --geometry=$s -- watch -t -n$p "`readlink -f \"$0\"`" --guts
#
라이센스 : GNU GPLv2, TranSeed Research
당신이 사용할 수있는
nvidia-smi pmon -i 0
컴퓨팅 / 그래픽 모드, sm 사용량, 메모리 사용량, 인코더 사용량, 디코더 사용량을 포함하여 GPU 0의 모든 프로세스를 모니터링합니다.