it-swarm.com.de

Wie überprüfe ich die Größe des Videospeichers?

Gibt es eine Möglichkeit, die Größe des Videospeichers zu überprüfen? Gibt es eine, die sowohl für integrierte GPUs als auch für PCI/AGP-Grafikkarten genau funktioniert?

Viele integrierte GPUs verfügen über dynamisch zugewiesenen Speicher, sodass die Lösung hoffentlich entweder den maximal verfügbaren Videospeicher oder die aktuell zugewiesene Menge zurückgibt. Bei eigenständigen NVidia- oder ATI-Karten wird offensichtlich die Gesamtmenge des physischen GPU-Arbeitsspeichers zurückgegeben.

lspci -v gibt Speicherwerte aus, aber ich glaube nicht, dass es sich um den Videospeicher handelt. Ich vermute, dass es sich bei der angegebenen Zahl um eine bestimmte Systemspeicherzuordnung oder Block- oder Kanalgröße handelt, aber ich weiß es nicht genau. Sie können in diesen Testergebnissen sehen, dass lspci in 5 der 6 Tests falsch war:

** 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]
60
drgrog

Dies ist das O/P von Dmesg mit einer diskreten 1G-Grafikkarte ATI 6370HD. "Erkannter VRAM RAM = 1024M, BAR = 256M", überprüfen Sie diese Zeile.

[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

nvidia-settings erledigt dies für Karten, die den proprietären nvidia -Treiber verwenden. Es kann ungenau sein, aber es ist für meine bestimmte Karte korrekt. Ich kenne kein anderes Userspace-Tool, das speziell den Grafiktreiber abfragt.

Sie können auch Sudo lshw -class display versuchen, aber ich kann nicht garantieren, dass es genauer als lspci ist. Außerdem werden Speicherbereiche und nicht Beträge gemeldet, sodass Sie einige Berechnungen durchführen müssen.

Ich finde, dass grep -i memory /var/log/Xorg.0.log den VRAM auf der Karte meines Systems korrekt meldet. Es funktioniert nicht für meinen Laptop mit dem Treiber radeon mit integriertem Radeon Mobility-Gerät.

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

Mein System gibt aus

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

Das heißt, es verfügt über 256 MB Speicher für die integrierte Grafikkarte.

pdate: Achten Sie jedoch darauf, dass Sie eine der Intel HD-Grafikkarten verwenden. Sein Speicher wird normalerweise mit dem Hauptspeicher RAM des Systems geteilt und ist dynamisch, was bedeutet, dass er bei Bedarf erhöht und verringert wird. In meinem System habe ich später festgestellt, dass es bis zu 1,7 GB groß werden kann, und dieser Wert scheint Standard zu sein, wenn Sie ein System mit 4,0 GB RAM haben (mein Fall). Wenn Sie eine solche Grafikkarte verwenden, ist die obige Ausgabe keine große Hilfe.

12
thiagowfx

Sie können dies versuchen:

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

oder dies, wenn der obige Befehl fehlschlägt:

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

Nichts Neues - ich habe mir nur andere Posts angesehen und eine Mustererkennung hinzugefügt, um eine besser formatierte Ausgabe zu erhalten.

4

Es gibt ein Programm namens hardinfo , im Software Center verfügbar , das jede Grafikkarte auflistet (im Dropdown-Menü Geräte in der Kategorie PCI-Geräte) und das Spezifikationen für jede Karte, einschließlich Speicher und Hersteller/Modell.

1
Nathan Dyer