web-dev-qa-db-ja.com

LinuxでアクティブなGPUを確認するにはどうすればよいですか?

ネットブックに2つのGPUがあります。どの時点で実際に使用しているのかを知るにはどうすればよいですか?

80
LanceBaynes

前に述べたlspciメソッドは両方とも[VGA controller]と時々言うことができるので、Ubuntuでディスクリートグラフィックスを動作させるために時間を費やし、この質問に答えることは常に困難でした。

次のコマンドで、アクティブなチップを確認できるはずです。

$ glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile

私にとって、これは私のインテルグラフィックスがショーを実行していることを教えてくれます。 nvidiaチップを使用していて、bumblebeeパッケージを使用している場合、その行の前にoptirunを置くと、NVidiaチップを実行していることがわかります。 (基本的に、optirunはコンピューターにディスクリートチップを使用して次のコマンドを実行するように指示しますが、他のすべてはまだ統合チップを使用しています)

$ optirun glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 555M/PCIe/SSE2

glxheadsは、使用中のグラフィックスカードに関する有用な情報も提供し(ほとんどの場合、よりコンパクトで読みやすい形式でglxinfoを繰り返します)、回転する三角形の素敵なレンダリングを提供します。

51
Nickolai

現在どのGPUがコマンドになっている(つまり、アクティブなVGAコントローラーである)かを確認するには、次のように入力します。

lspci -vnnn | Perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA

[VGA controller]末尾の現在アクティブなGPUです。その他はオフになっています。次の例では、nVidiaカードが使用されていないときにIntelカードがアクティブになっています。

00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor
Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA 
controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108 [GeForce
GT 540M] [10de:0df4] (rev ff) (prog-if ff)
20
ubuntudroid
nvidia-smi -L

これは私が欲しかったものを私に与えました。このコマンドは、マシンに存在するGPUのリストを表示します。これは、アクティブなものを特定するのに役立ちます。

ここのスレッドからコマンドを取得しました: 複数のNVIDIA GPUカードを備えたUbuntuボックス| devtalk.nvidia.com

9
Hardhik

nvidia-settings GUI

Ubuntu 15.10では、nvidia-352をインストールした後、GPUが機能しているようです。

nvidia-settings

のようなものを示しています:

enter image description here

それがどのように表示されるかに注意してください:

GPU 0 - (NVS 5400M)

ここで、NVS 5400Mは私のGPUモデルです。

次に、glxgearsを実行すると、GPUの使用率が90%を超えます。

したがって、複数のGPUがある場合は、それぞれが一度にどれだけ使用されているかを確認できると思います。

どのOSを使用していますか?ほとんどのLinuxマシンでlspciを使用している場合、pciデバイスのリストが表示されます。グラフィックスデバイスのgrepを実行すると、両方のデバイスがポップアップ表示されます。その後、それぞれの設定を確認すると、up/on/activeなどの詳細が表示されます。

1
baweaver

nvidia-smiは非常に便利ですが、常にすべてが含まれているとは限らないことがあります。プロセスがクラッシュしたときに、それらが常にリストされているわけではないようです。

Sudo lsof /dev/nvidia*は常に私のために働いてきました。 Sudoがなくても機能しますが、自分が所有しているプロセスのみが表示されます。マルチユーザーマシンで作業している場合、またはDockerを使用している場合は、Sudoを使用するとより良い結果が得られるでしょう。

2つのコマンドの間に不一致がある場合は、killで見つかった追加のプロセスをlsofingすることを検討してください。

0
Rick Smith