GPU情報を取得するには?

私は私に同じ情報を与えるコマンドを探しています:

cat /proc/cpuinfo 

GPU(チップとメモリの種類、周波数)を除く。

私は直接同等のものを知りませんが、 lshw あなたが望む情報を与える必要があります、試してみてくださ:

sudo lshw -C display

(それはまたなしで動作します sudo しかし、情報はあまり完全/正確ではないかもしれません)

パッケージをインストールすることもできます lshw-gtk GUIを取得するには。

そのタイプの情報は非標準であり、それを収集するために使用するツールは大きく異なります。

コマンド glxinfo ドライバが正しくインストールされている場合は、ベンダー名を含むグラフィックスプロセッサに使用可能なすべてのOpenGL情報が表示されます。

クロック速度情報を取得するには、標準的なツールはありません。

  • 古いCatalystドライバを実行しているATI/AMD Gpuの場合, aticonfig --odgc クロックレートをフェッチする必要があり、 aticonfig --odgt 温度データを取得する必要があります。 私はAMDGPU-Proに精通していませんが、同様のツールが存在するはずです。
  • NVIDIA Gpuの場合は、次のようになります。 nvidia-smi このツールには、クロック速度や使用統計など、必要なすべての情報が表示されます。

私はオープンソースドライバやIntelや他のGpuのための同等のツールを認識していませんが、ハードウェア上の他の情報はからフェッチすることができます lspcilshw ツール。

コマンドラインで行われた作業に焦点を当てたブログ記事はここにあります:

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

デバイスIDの確認:

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

その後、この出力を次のように使用できます lspci 再び、形成 二つのネストされたコマンド

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

GPUカードが1枚以上ある場合は、代わりに次の同等のコマンドを試してください:

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

(これはインストールされているNvidiaドライバでは動作しますが、オープンソースの'nouveau'ドライバを実行しているシステムでは動作しません)。

出力

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グラフィックスカードを持っていることを示しています。

現時点では、IntelおよびAMD/ATI Gpuでこれを取得する方法がわかりません。

走れ。 google-chrome そして、URLに移動します about:gpu.ChromeがOpenGLの使用方法を理解している場合は、GPUに関する詳細な情報が非常に得られます。

あなたは次のようなコマンドを指定したので cat したがって、CPUの場合、これはGPUの場合と同等です。 これは、ロードされるNvidiaデバイスドライバ以外のソフトウェアを必要としません。

ここのパスは私が持っているカードのために働く。 しかし、他の人がコメントで指摘しているように、あなたは異なるかもしれません。

第1回目

> cat /proc/driver/nvidia/gpus/0/informationModel:       GeForce GTX 680IRQ:         24GPU UUID:    GPU-71541068-cded-8a1b-1d7e-a093a09e9842Video BIOS:      80.04.09.00.01Bus Type:    PCIeDMA Size:    40 bitsDMA Mask:    0xffffffffffBus Location:    0000:01.00.0

第2弾

> cat /proc/driver/nvidia/gpus/1/informationModel:       GeForce GTX 580IRQ:         33GPU UUID:    GPU-64b1235c-51fc-d6f1-0f0e-fa70320f7a47Video BIOS:      70.10.20.00.01Bus Type:    PCIeDMA Size:    40 bitsDMA Mask:    0xffffffffffBus Location:    0000:08.00.0

Nvidiaカードの場合は、次のように入力します

nvidia-smi -q

クリンフォ

sudo apt-get install clinfoclinfo

のアナログである glxinfo しかし、OpenCLの場合、私のGPU設定は次の場所で説明されています: https://stackoverflow.com/questions/7542808/how-to-compile-opencl-on-ubuntu/33483311#33483311

Ubuntuの20.04設定->について

右上のメニューをクリックして設定を開くか、次のいずれかを行うことができます:

  • スーパーキー(別名Windowsキー)
  • "About"と入力し、エントリを選択します

そのため、「グラフィックス」の下で、GPUモデルが「Quadro M1200/PCIe/SSE2」であることがわかります。

enter image description here

nvidia-設定

ランタイムといくつかの静的な情報を混在させます。

enter image description here

より多くの細部: UbuntuがNVIDIAグラフィックスカードを使用しているかどうかを確認するにはどうすればよいですか?

私はこれのための最良の選択肢があると信じていますか ネオフェッチ.

# Get neofetchsudo add-apt-repository ppa:dawidd0811/neofetchsudo apt updatesudo apt install neofetch# Run neofetchneofetch

これは次のような出力を与えます:

これは実際にはモデルとメモリにとってそれほど複雑ではありませんが、製造元(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'出力から3番目のフィールドを取得することです。

ラム= このビットはすべて変数に設定されています cardid からの出力の最初のフィールドに等しい lspci VGA"に対応しており、そのためのリクエストとして -v からの冗長出力 lspci その特定のために -s デバイス、さらに出力をフィルタリングする grep 文字列"prefetchable"の場合、これにはカード自体のメモリが含まれています(出力で"non-prefetchable"と一致したくないため、前のスペースに注意してください。

Intel integrated graphicsのクロックレート(I3およびI5でテスト済み)

コマンドの実行 sudo find /sys -type f -name gt_cur* -print0 | xargs -0 catこれは/sysツリーにダイブして、私のI3にあるgt_cur_freq_mhzfileを見つけます /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhz そして内容を印刷します。 私の場合、非常に軽い負荷の下では 350 最小周波数に対応する350MHzの場合と同様に、次のようになります。 /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz 走っているときには glxgearsglmark2 結果は 1050 1050MHzのように、これはで見つかった最大周波数に対応します /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz

Nvidiaカードのクロックレートの場合:

nvidia-smi -stats -d procClk GPUクロックに対応nvidia-smi -stats -d memClk メモリクロックに対応します。

注:信頼できるGeForce210はサポートされていないため、上記をテストすることはできません。「nvidia-smi-stats--help」で示されているように、これはKeplerまたはそれ以降のGpuで

私は現在、AMDカード上のクロックレートのための任意のソリューションを持っていないし、テストのために利用可能なハー 私はしかし、私の知る限りではそれを言うだろう aticonfig 受け入れられた答えに記載されているものはもはや存在せず、それは次のように見えます nvclock トラスティ以来、何のために利用できません。

コンキーまたは端末スプラッシュ画面

NVidia GPUとIntel iGPUの情報を自動的に表示するには、2つの方法を使用します:

  • Conkyは動的にリアルタイムでGPU情報を表示します
  • ~/.bashrc 端末を開くたびにGPU情報を表示します

コンキーリアルタイムディスプレイ

この例では、Conkyを使用して、現在のGPU(nVidiaまたはIntel)の統計情報をリアルタイムで表示します。 Conkyは、多くのLinux愛好家の間で人気のある軽量システムモニターです。

後に起動したかどうかによって表示が変わります prime-select intel または prime-select nvidia.

インテルiGPU

gpu temp intel.gif

  • Intel iGPUは次のように表示されます Skylake GT2 HD 530 iGPU 現在の頻度を使って
  • 最小周波数は次のとおりです 350 MHzで、最大値は 1050 MHz

nVidia GPU

gpu temp nvidia.gif

  • NVidia GPUは次のように表示されます GeForce GTX970M 現在のGPUの周波数と温度を使用した場合
  • ドライバのバージョン、P-State、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をリストアップする方法を知らないと述べています。:

ubuntu terminal splash.png

設定の詳細については、以下を参照してください: 天気、カレンダー、時間&アンプと端末スプラッシュ画面;Sysinfo?

要約すると、GPU情報(最後の2行目)を含むUbuntu displayの一番下のセクションのためだけに使用します:

sudo apt install screenfetchscreenfetch

あなたは入れたいと思うでしょう screenfetch あなたの下にコマンドを入力します ~/.bashrc それはあなたが端末を開くたびに表示されているファイル。

@CharlieParker cpuの情報を出力します。…

cat/proc/cpuinfoは何をしますか? あなたはどんな情報を探していますか?