Yanıtlar:
Nvidia GPU'larında nvidia-smi
bellek kullanımını, GPU kullanımını ve GPU sıcaklığını gösterebilen bir araç var. Ayrıca hesaplama işlemlerinin bir listesi ve birkaç seçenek daha var ancak grafik kartım (GeForce 9600 GT) tam olarak desteklenmiyor.
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
, terminalinizi çıktı ile doldurmadan çıktıyı güncel tutacaktır.
watch -d -n 0.5 nvidia-smi
daha iyi olacak.
-d
Bayrağın ne yaptığını açıklamanın daha iyi olacağını düşünüyorum
man watch
bize -d
bayrakların çıktılar arasındaki farklılıkları vurguladığını söyler , böylece zamanla hangi metriklerin değiştiğini vurgulamaya yardımcı olabilir.
Linux için, kullanım nvidia-smi -l 1
sürekli olarak 1 saniye yenileme aralığında, gpu kullanım bilgilerini verecektir.
watch -n 1 nvidia-smi
Terminali çıkışla doldurmadan sürekli güncelleme elde etmeyi tercih ederim
Son zamanlarda gpustat
(bir sarmalayıcı olan nvidia-smi
) adında basit bir komut satırı yardımcı programı yazdım : Lütfen https://github.com/wookayin/gpustat adresini ziyaret edin .
Intel GPU için vardır intel-gpu-tools
den http://intellinuxgraphics.org/ komutunu getiren projeyi intel_gpu_top
(diğer şeyler arasında). Intel GPU'ya benzer top
ve htop
özellikle de öyle.
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
bazı linux makinelerde çalışmaz (birçok özellik için N / A döndürür). Bunun nvidia-settings
yerine kullanabilirsiniz (bu aynı zamanda py python dosyasında kullanılan mat kelcey'dir).
nvidia-settings -q GPUUtilization -q useddedicatedgpumemory
Ayrıca kullanabilirsin:
watch -n0.1 "nvidia-settings -q GPUUtilization -q useddedicatedgpumemory"
Sürekli izleme için.
nvidia-settings -q all
hangi parametreleri izleyebileceğinizi görmek için yapabilirsiniz. Ben takip ediyorum GPUCurrentProcessorClockFreqs
ve GPUCurrentClockFreqs
.
nvidia-settings -q [gpu:0]/UsedDedicatedGPUMemory -t
Linux için, kendi yazdığım HTOP benzeri bir araç kullanıyorum. Çekirdek / VRAM / PCI-E ve bellek veri yolu kullanımının yanı sıra GPU sıcaklığını da izler ve genel bir bakış sunar. Yine de GPU’da nelerin çalıştığını izlemiyor.
nvidia-settings
çalışan bir X11 gerektirir, bu her zaman böyle değildir.
Tamamlanması için AMD'nin iki seçeneği vardır:
fglrx (kapalı kaynak sürücüleri).
$ aticonfig --odgc --odgt
mesa (açık kaynaklı sürücüler), RadeonTop'u kullanabilirsiniz .
Toplam etkinlik yüzdesi ve bireysel bloklar için GPU kullanımınızı görüntüleyin.
Bir GeForce 1060 GTX ekran kartına sahibim ve aşağıdaki komutun bana kart kullanımı, sıcaklık, fan hızı ve güç tüketimi hakkında bilgi verdiğini gördüm:
$ nvidia-smi --format=csv --query-gpu=power.draw,utilization.gpu,fan.speed,temperature.gpu
Tüm sorgu seçeneklerinin listesini aşağıdakilerle görebilirsiniz:
$ nvidia-smi --help-query-gpu
memory.used
(veya memory.free
) de olurdu .
AtMonitor'un GPU ile ilgili özellikleri destekleyen son sürümü atMonitor 2.7.1'dir.
- ve 2.7.1'e olan bağlantı 2.7b'yi verir.
Uygulamanın daha yeni bir sürümü için, atMonitor - SSS açıklar:
AtMonitor'u MacOS 10.8 ile uyumlu hale getirmek için GPU ile ilgili tüm özellikleri kaldırdık.
NVIDIA GeForce 9600M GT ile MacBookPro5,2 ile Mountain Lion'da 2.7b aka 2.7.1 ile denedim. Uygulamadan çıkmadan önce birkaç saniye çalıştı, sıcaklık gösterdi ancak kullanımı yoktu:
İşlemlerim sonlandırıldı (muhtemelen öldürüldü veya düştü) ve kaynakları kullanmaya devam ettim, ancak listede yer almadım nvidia-smi
. Genellikle bu işlemler sadece gpu belleği alıyordu.
Bir GPU'daki kaynakları kullanan bir işleminiz olduğunu düşünüyorsanız ve gösterilmiyorsa nvidia-smi
, bu komutu iki kez kontrol etmek için çalıştırmayı deneyebilirsiniz. Hangi işlemlerin GPU'larınızı kullandığını size gösterecektir.
sudo fuser -v /dev/nvidia*
Bu, EL7, Ubuntu veya diğer dağıtımlarda çalışan nvidia cihazlarında başka bir ad / konum altında listelenmiş olabilir.
Glances, GPU kullanımı ve hafıza kullanımını gösteren bir eklentiye sahiptir.
http://glances.readthedocs.io/en/stable/aoa/gpu.html
Nvidia-ml-py3 kütüphanesini kullanır: https://pypi.python.org/pypi/nvidia-ml-py3
Linux için nvidia için isteğe bağlı bir gecikme kullanan ve iostat ve vmstat gibi tekrarlayan aşağıdaki python betiğini kullanıyorum
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}
Kullanabilirsiniz, nvtop
benzer htop
ancak NVIDIA GPU'lar için. Bağlantı: https://github.com/Syllo/nvtop
Aşağıdaki işlev, PID, kullanıcı adı, CPU kullanımı, bellek kullanımı, GPU belleği kullanımı, program argümanları ve GPU'da çalıştırılan işlemlerin çalışma süresi gibi bilgileri çıktıya ekler 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
}
Örnek çıktı:
$ 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
Bu komut dosyası daha okunaklıdır ve kolay modlar ve uzantılar için tasarlanmıştır.
GNOME terminalini favori terminal penceresi programınızla değiştirebilirsiniz.
#! /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
#
Lisans: GNU GPLv2, TranSeed Araştırma
Kullanabilirsiniz
nvidia-smi pmon -i 0
işlem / grafik modu, sm kullanımı, bellek kullanımı, kodlayıcı kullanımı, kod çözücü kullanımı dahil olmak üzere GPU 0'daki her süreci izlemek için.
Ben (belki bir yorumda hariç) mevcut cevapları görmedik, bu yüzden ben daha hoş bir Tazelemeye alabilirsiniz eklemek düşündüm nvidia-smi
ile watch
. Bu, sürekli kaydırma yapmak yerine ekranı her güncellemeyle yeniler.
watch -n 1 nvidia-smi
bir saniye aralık güncellemeleri için. 1
Kesirli saniye dahil, istediğinizi ile değiştirin :
watch -n 5 nvidia-smi
watch -n 0.1 nvidia-smi