web-dev-qa-db-fra.com

Comment vérifier la taille de la mémoire vidéo?

Existe-t-il un moyen de vérifier la taille de la mémoire vidéo? En particulier, existe-t-il un système qui fonctionne avec précision pour les cartes graphiques intégrées ainsi que pour les cartes graphiques PCI/AGP?

De nombreux processeurs graphiques intégrés ont une mémoire allouée dynamiquement. Par conséquent, la solution renverrait, espérons-le, la mémoire vidéo maximale disponible ou la quantité actuellement allouée. Pour les cartes NVidia ou ATI autonomes, le nombre total de RAM physique du GPU serait évidemment renvoyé.

lspci -v affiche les chiffres de la mémoire, mais je ne crois pas que ce soit la mémoire vidéo. Je soupçonne que le chiffre indiqué correspond à une allocation de mémoire système ou à une taille de bloc ou de canal, mais je ne le sais pas avec certitude. Vous pouvez voir dans ces résultats de test que lspci était erroné dans 5 des 6 tests:

** 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

C'est le o/p de dmesg avec une carte graphique 1G ATI 6370HD discrète. "RAM VRAM détectée = 1024 M, BAR = 256 M", recherchez cette ligne.

sourajit@sourajit:~$ 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

c'est ce que fait nvidia-settings pour les cartes utilisant le pilote propriétaire nvidia. C'est peut-être inexact, mais c'est correct pour ma carte en particulier. Je ne connais aucun autre outil utilisateur qui interroge spécifiquement le pilote vidéo.

Vous pouvez également essayer Sudo lshw -class display mais je ne peux pas garantir qu'il sera plus précis que lspci. En outre, il indique les plages de mémoire, pas les montants, de sorte que vous devrez faire quelques calculs.

Je trouve que grep -i memory /var/log/Xorg.0.log rapporte correctement la VRAM sur la carte de mon système. Cela ( ne fonctionne pas pour mon ordinateur portable avec le pilote radeon avec le périphérique Radeon Mobility intégré.

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

Mes sorties système

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

Ce qui signifie qu'il dispose de 256 Mo de mémoire dédiée à la carte vidéo intégrée.

Mise à jour: Attention toutefois si vous utilisez l'une des cartes Intel HD Graphics. Sa mémoire est généralement partagée avec la RAMprincipale du système. Elle est dynamique, ce qui signifie qu’elle augmente et diminue à la demande. Dans mon système, j'ai découvert par la suite qu'il pouvait atteindre 1,7 Go. Cette valeur semble être standard si vous disposez d'un système doté de 4,0 Go de RAM (mon cas). Si vous utilisez une telle carte graphique, la sortie ci-dessus ne vous sera pas d'une grande aide.

12
thiagowfx

Vous pouvez essayer ceci:

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

ou ceci si la commande ci-dessus échoue:

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

Rien de nouveau - il suffit de regarder d'autres publications et d'ajouter une correspondance de modèle pour une meilleure sortie formatée.

4

Il existe un programme appelé hardinfo , disponible dans le Centre logiciel , qui répertorie chaque carte vidéo (dans le menu déroulant Périphériques, dans la catégorie Périphériques PCI) et le spécifications pour chaque carte, y compris la mémoire et le vendeur/modèle.

1
Nathan Dyer