it-swarm.dev

Jak zkontrolovat velikost video paměti?

Existuje způsob, jak zkontrolovat velikost video paměti? Konkrétně existuje ten, který pracuje přesně jak pro integrované grafické karty GPU, tak pro grafické karty PCI/AGP?

Mnoho integrovaných GPU má dynamicky přidělenou paměť, takže řešení by snad vrátilo buď maximální dostupnou grafickou paměť nebo aktuálně přidělenou částku. U samostatných karet NVidia nebo ATI by samozřejmě vrátilo celkové množství fyzické paměti GPU RAM.

lspci -v vydává čísla z paměti, ale nemyslím si, že se jedná o videopaměť. Mám podezření, že údaj nahlásil nějaké přidělení systémové paměti nebo velikost bloku nebo kanálu, ale nevím to s jistotou. Můžete vidět v těchto výsledky testů , že lspci byl špatný v 5 ze 6 testů:

** ASUS EN210 PCIe - 1024 Mb *** 

01:00.0 VGA compatible controller: nVidia Corporation GT218 [GeForce 210] (rev a2)
        Subsystem: ASUSTeK Computer Inc. Device 8354
        Memory at e3000000 (32-bit, non-prefetchable) [size=16M]
        Memory at d0000000 (64-bit, prefetchable) [size=256M]
        Memory at e0000000 (64-bit, prefetchable) [size=32M]

*** Galaxy 8400GS PCIe - 512 Mb *** 

01:00.0 VGA compatible controller: nVidia Corporation G98 [GeForce 8400 GS] (rev a1)
    Subsystem: nVidia Corporation Device 05cc
    Region 0: Memory at e4000000 (32-bit, non-prefetchable) [size=16M]
    Region 1: Memory at d0000000 (64-bit, prefetchable) [size=256M]
    Region 3: Memory at e2000000 (64-bit, non-prefetchable) [size=32M]

*** VirtualBox VM - 10 Mb (headless server) *** 

00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
        Memory at e0000000 (32-bit, prefetchable) [size=16M]

*** VirtualBox VM - 128 Mb *** 

00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter (prog-if 00 [VGA Controller])
        Memory at e0000000 (32-bit, prefetchable) [size=128M]

*** S3 Savage 4 AGP - unknown Mb (old lspci log), but I don't think they made these cards with 128Mb memory! *** 

00:01.0 VGA compatible controller: S3 Inc. Savage 4 (rev 06) (prog-if 00 [VGA controller])
    Subsystem: IBM Unknown device 01c5
    Region 0: Memory at feb80000 (32-bit, non-prefetchable) [size=512K]
    Region 1: Memory at f0000000 (32-bit, prefetchable) [size=128M]

*** NVIDIA Quadro FX 1800 integrated - 1024 Mb *** 

01:00.0 VGA compatible controller: nVidia Corporation GT215 [Quadro FX 1800M] (rev a2) (prog-if 00 [VGA controller])
    Subsystem: Dell Device 040c
    Memory at e2000000 (32-bit, non-prefetchable) [size=16M]
    Memory at d0000000 (64-bit, prefetchable) [size=256M]
    Memory at e0000000 (64-bit, prefetchable) [size=32M]
64
drgrog

Toto je o/p dmesg s diskrétní 1G grafickou kartou ATI 6370HD. "Zjištěná RAM RAM RAM = 1024 M, BAR = 256 M", zkontrolujte tento řádek.

[email protected]:~$ Sudo dmesg | grep drm
[    6.126816] [drm] Initialized drm 1.1.0 20060810
[    6.541907] [drm] radeon defaulting to kernel modesetting.
[    6.541910] [drm] radeon kernel modesetting enabled.
[    6.542102] [drm] initializing kernel modesetting (CEDAR 0x1002:0x68E4 0x17AA:0x397A).
[    6.542142] [drm] register mmio base: 0xE0600000
[    6.542143] [drm] register mmio size: 131072
[    7.406572] [drm] Detected VRAM RAM=1024M, BAR=256M
[    7.406576] [drm] RAM width 64bits DDR
[    7.406654] [drm] radeon: 1024M of VRAM memory ready
[    7.406655] [drm] radeon: 512M of GTT memory ready.
28
Sourajit Basak

nastavení nvidia to provádí u karet používajících proprietární ovladač nvidia. Může to být nepřesné, ale platí pro moji konkrétní kartu. Nevím o žádném jiném nástroji uživatelského prostoru, který by konkrétně dotazoval ovladač videa.

Můžete také zkusit Sudo lshw -class display ale nemohu zaručit, že bude přesnější než lspci. Také hlásí rozsahy paměti, nikoli částky, takže byste museli udělat nějakou matematiku.

Zjistil jsem, že grep -i memory /var/log/Xorg.0.log správně nahlásí VRAM na kartě mého systému. Funguje ne pro můj notebook pomocí ovladače radeon s integrovaným zařízením Radeon Mobility.

15
koanhead
LC_ALL=C lspci -v | grep -EA10 "3D|VGA" | grep 'prefetchable' 

Výstupy z mého systému

Memory at d0000000 (64-bit, non-prefetchable) [size=4M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]

Což znamená, že má 256 MB paměti vyhrazené pro integrovanou grafickou kartu.

Aktualizace: Pozor, pokud používáte jednu z grafických karet Intel HD. Jeho paměť je obvykle sdílena s hlavním RAM) systému a je dynamická, což znamená, že se zvyšuje a snižuje na vyžádání. V mém systému jsem později zjistila, že může růst až 1, 7 GB a tato hodnota se zdá být standardní, pokud máte systém s 4,0 GB RAM (můj případ). Pokud používáte grafickou kartu jako je tato, výše uvedený výstup vyhraje ' Nebudu moc pomáhat.

14
thiagowfx

Můžete to vyzkoušet:

echo $"VRAM: "$(($(grep -P -o -i "(?<=memory:).*(?=kbytes)" /var/log/Xorg.0.log) / 1024))$" Mb"

nebo toto, pokud výše uvedený příkaz selže:

echo $(dmesg | grep -o -P -i "(?<=vram:).*(?=M 0x)")$" Mb"

Nic nového - jen se podíval na další příspěvky a přidal přizpůsobení vzoru pro lepší formátování výstupu.

5

Existuje program s názvem hardinfo , k dispozici v softwarovém centr , který vypíše každou grafickou kartu (v rozbalovací nabídce Zařízení, v kategorii Zařízení PCI) a specifikace pro každou kartu, včetně paměti a dodavatele/modelu.

1
Nathan Dyer