73 votes

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

Y a-t-il un moyen de vérifier la taille de la mémoire vidéo ? Plus précisément, existe-t-il un moyen qui fonctionne de manière précise pour les GPU intégrés ainsi que pour les cartes graphiques PCI/AGP ?

De nombreux GPU intégrés ont une mémoire allouée de manière dynamique, donc la solution devrait idéalement renvoyer soit la quantité maximale de mémoire vidéo disponible, soit la quantité actuellement allouée. Pour les cartes NVidia ou ATI autonomes, elle renverrait évidemment la quantité totale de RAM physique du GPU.

lspci -v affiche des chiffres de mémoire, mais je ne crois pas que ce soit la mémoire vidéo. Je soupçonne que le chiffre rapporté est une certaine allocation de mémoire système ou une taille de bloc ou de canal, mais je n'en suis pas sûr. Vous pouvez voir dans ces résultats de test que lspci s'est trompé dans 5 des 6 tests :

** ASUS EN210 PCIe - 1024 Mb *** 

01:00.0 Contrôleur VGA compatible: nVidia Corporation GT218 [GeForce 210] (rev a2)
        Sous-système: ASUSTeK Computer Inc. Device 8354
        Mémoire à e3000000 (32 bits, non pré-chargeable) [size=16M]
        Mémoire à d0000000 (64 bits, pré-chargeable) [size=256M]
        Mémoire à e0000000 (64 bits, pré-chargeable) [size=32M]

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

01:00.0 Contrôleur VGA compatible: nVidia Corporation G98 [GeForce 8400 GS] (rev a1)
    Sous-système: nVidia Corporation Device 05cc
    Région 0: Mémoire à e4000000 (32 bits, non pré-chargeable) [size=16M]
    Région 1: Mémoire à d0000000 (64 bits, pré-chargeable) [size=256M]
    Région 3: Mémoire à e2000000 (64 bits, non pré-chargeable) [size=32M]

*** VirtualBox VM - 10 Mb (serveur sans tête) *** 

00:02.0 Contrôleur VGA compatible: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
        Mémoire à e0000000 (32-bit, pré-chargeable) [size=16M]

*** VirtualBox VM - 128 Mb *** 

00:02.0 Contrôleur VGA compatible: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter (prog-if 00 [VGA Controller])
        Mémoire à e0000000 (32-bit, pré-chargeable) [size=128M]

*** S3 Savage 4 AGP - taille inconnue de la mémoire (ancien journal lspci), mais je ne pense pas qu'ils aient fait ces cartes avec 128 Mo de mémoire ! *** 

00:01.0 Contrôleur VGA compatible: S3 Inc. Savage 4 (rev 06) (prog-if 00 [contrôleur VGA])
    Sous-système: IBM Périphérique inconnu 01c5
    Région 0: Mémoire à feb80000 (32 bits, non pré-chargeable) [size=512K]
    Région 1: Mémoire à f0000000 (32 bits, pré-chargeable) [size=128M]

*** NVIDIA Quadro FX 1800 intégré - 1024 Mb *** 

01:00.0 Contrôleur VGA compatible: nVidia Corporation GT215 [Quadro FX 1800M] (rev a2) (prog-if 00 [contrôleur VGA])
    Sous-système: Dell Périphérique 040c
    Mémoire à e2000000 (32 bits, non pré-chargeable) [size=16M]
    Mémoire à d0000000 (64 bits, pré-chargeable) [size=256M]
    Mémoire à e0000000 (64 bits, pré-chargeable) [size=32M]

34voto

Sourajit Basak Points 451

Ceci est le résultat de dmesg avec une carte graphique ATI 6370HD discrete 1G. "Détecté VRAM RAM=1024M, BAR=256M", vérifiez cette ligne.

sourajit@sourajit:~$ sudo dmesg | grep drm
[    6.126816] [drm] Initialisé drm 1.1.0 20060810
[    6.541907] [drm] radeon utilisant par défaut le mode de configuration du noyau.
[    6.541910] [drm] radeon modesetting du noyau activé.
[    6.542102] [drm] initialisation du modesetting du noyau (CEDAR 0x1002:0x68E4 0x17AA:0x397A).
[    6.542142] [drm] base d'enregistrement mmio: 0xE0600000
[    6.542143] [drm] taille d'enregistrement mmio: 131072
[    7.406572] [drm] Détecté VRAM RAM=1024M, BAR=256M
[    7.406576] [drm] Largeur de RAM 64bits DDR
[    7.406654] [drm] radeon: 1024M de mémoire VRAM prête
[    7.406655] [drm] radeon: 512M de mémoire GTT prête.

17voto

thiagowfx Points 759
LC_ALL=C lspci -v | grep -EA10 "3D|VGA" | grep 'prefetchable' 

Mon système produit

Mémoire à d0000000 (64 bits, non pré-bufférisée) [taille=4M]
Mémoire à c0000000 (64 bits, pré-bufférisée) [taille=256M]

Cela signifie qu'il y a 256 Mo de mémoire dédiée à la carte vidéo intégrée.

Mise à jour : cependant, attention si vous utilisez une des cartes graphiques Intel HD Graphics. Sa mémoire est généralement partagée avec la mémoire RAM principale du système et elle est dynamique, ce qui signifie qu'elle augmente et diminue selon la demande. Dans mon système, j'ai découvert par la suite qu'elle peut atteindre jusqu'à 1,7 Go, et cette valeur semble être standard si vous avez un système avec 4,0 Go de RAM (mon cas).
Si vous utilisez une carte graphique de ce type, la sortie ci-dessus ne sera pas très utile.

16voto

ahanson Points 1644

Nvidia-settings le fait pour les cartes utilisant le pilote propriétaire nvidia. Il peut être inexact mais il est correct pour ma carte particulière. 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 que ce sera plus précis que lspci. De plus, il signale des plages de mémoire, pas des quantités, vous devriez donc faire un peu de calcul.

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

15voto

Bancho Petrov Points 151

Le suivant a fonctionné pour moi:

glxinfo | egrep -i 'device|memory'

8voto

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 - j'ai simplement regardé d'autres publications et ajouté la correspondance de motifs pour une sortie mieux formatée.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X