it-swarm-eu.dev

Jak zjistit, který GPU je aktivní v Linuxu?

Ve svém netbooku mám 2 GPU. Jak zjistím, který z nich v daném okamžiku skutečně používám?

80
LanceBaynes

Právě jsem prošel peklem, když jsem se snažil přimět diskrétní grafiku, aby pracovala v Ubuntu, a odpovídat na tyto otázky bylo neustále výzvou, protože metoda lspci uvedená výše může někdy říci, že obě jsou [VGA controller]

Myslím, že následující příkaz by měl naznačit váš aktivní čip:

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

Pro mě to říká, že moje intel grafika běží pořad. Pokud používáte čip nvidia a používáte balíček bumblebee, můžete před tento řádek umístit optirun a mělo by vám říci, že používáte čip NVidia (optirun v podstatě říká počítači, aby použil diskrétní čip ke spuštění libovolného příkazu, ale vše ostatní stále používá integrovaný čip)

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

glxheads vám také řekne několik užitečných informací o tom, která grafická karta se používá (většinou opakuje glxinfo v kompaktnějším a snadno čitelném tvaru tho), a dává vám hezké vykreslení rotujícího trojúhelníku.

51
Nickolai

Chcete-li zkontrolovat, který GPU je aktuálně v příkazu (to znamená, který je aktivní VGA řadič), zadejte

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

Libovolný ovladač s [VGA controller] na konci je váš aktuálně aktivní GPU. Ostatní jsou vypnuté. V následujícím příkladu je aktivní karta Intel, zatímco karta nVidia se nepoužívá:

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

To mi dalo, co jsem chtěl. Tento příkaz zobrazí seznam GPU přítomných na vašem počítači. To vám může pomoci zjistit, které jsou aktivní.

příkaz dostal od vlákna zde: buntu Box s více NVIDIA GPU kartami | devtalk.nvidia.com

9
Hardhik

nvidia-settings GUI

Na Ubuntu 15.10 po instalaci nvidia-352 a zdá se, že GPU funguje:

nvidia-settings

ukazuje něco jako:

enter image description here

Všimněte si, jak to ukazuje:

GPU 0 - (NVS 5400M)

kde NVS 5400M je můj model GPU.

Pokud spustím glxgears, využití GPU se zvýší na> 90%.

Očekávám tedy, že kdybyste měli více GPU, mohli byste vidět, kolik jich bylo každý najednou použito.

Který OS používáte? Používáte-li lspci na většině linuxových počítačů, dostanete seznam vašich pci zařízení, stačí grep pro grafická zařízení a měla by vyskočit obě. Poté stačí zkontrolovat konfiguraci u každé z nich, měli byste vidět podrobnosti o up/on/active nebo něco takové povahy.

1
baweaver

nvidia-smi je velmi užitečné, ale občas jsem zjistil, že to vždy nezahrnuje všechno. Zdá se, že při selhání procesů nejsou vždy uvedeny.

Sudo lsof /dev/nvidia* pro mě vždy pracoval. Bude také fungovat bez Sudo, ale zobrazí pouze procesy, které vlastníte. Pokud pracujete na víceuživatelském počítači nebo používáte dokovací stanici, pravděpodobně dosáhnete lepších výsledků pomocí funkce Sudo.

Pokud vidíte nesoulad mezi těmito dvěma příkazy, možná budete chtít zvážit killing další procesy nalezené s lsof.

0
Rick Smith