¿Hay alguna forma de verificar el tamaño de la memoria de video? Específicamente, ¿hay alguno que funcione con precisión tanto para GPU integradas como para tarjetas gráficas PCI / AGP?
Muchas GPU integradas tienen memoria asignada dinámicamente, por lo que es de esperar que la solución devuelva la memoria de video máxima disponible o la cantidad asignada actualmente. Para las tarjetas NVidia o ATI independientes, obviamente devolvería la cantidad total de RAM de GPU física.
lspci -v
genera cifras de memoria, pero no creo que sea la memoria de video. Sospecho que la cifra informada es alguna asignación de memoria del sistema o tamaño de bloque o canal, pero no estoy seguro. Puede ver en estos resultados de prueba que lspci estaba equivocado en 5 de las 6 pruebas:
** 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]
Respuestas:
Este es el o / p de dmesg con una tarjeta gráfica discreta ATI 6370HD 1G. "RAM VRAM detectada = 1024M, BAR = 256M", verifique esta línea.
fuente
dmesg | grep VRAM
Memory usable by graphics device = 2048M
cuando todo lo demás dice256M
en mis gráficos integrados Intel i5 (podría ser memoria compartida o algo así). EDITAR: solo lea askubuntu.com/a/475405/178596nvidia-settings hace esto para tarjetas que usan el
nvidia
controlador propietario . Puede ser inexacto, pero es correcto para mi tarjeta en particular. No conozco ninguna otra herramienta de espacio de usuario que consulte específicamente el controlador de video.También puede intentarlo,
sudo lshw -class display
pero no puedo garantizar que sea más preciso que lspci. También informa rangos de memoria, no cantidades, por lo que tendría que hacer algunos cálculos.Me parece que
grep -i memory /var/log/Xorg.0.log
informa correctamente el VRAM en la tarjeta de mi sistema. No , no funciona para mi portátil, utilizando el controladorradeon
de dispositivo integrado Radeon Mobility.fuente
lshw
informa los mismos recursos de memoria del sistema quelspci
, solo lshw los informa como rangos de direcciones en lugar de tamaños.grep kB /var/log/Xorg.0.log
ogrep -i mem /var/log/Xorg.0.log
deme los datos más precisos y viables para tarjetas nvidia y máquinas virtuales VirtualBox. No tengo ninguna tarjeta ATI para probar, y no he podido probar mis tarjetas de inteligencia integradas o VMware VM.grep kByte
resultará en algo como esto: elVideo RAM: 1048576 kByte, Type: GDDR5
grepping por solo kB también mostrará algunos elementos VESA.grep "mem size"
resultará en algo como esto:RADEON(0): mem size init: gart size :1fdff000 vram size: s:40000000 visible:f6f6000
que es lo mejor que puedo sacar de él, donde el tamaño de la memoria está en hexadecimal despuéss:
Mis salidas de sistema
Lo que significa que tiene 256 MB de memoria dedicada a la tarjeta de video integrada.
Actualización : sin embargo, tenga cuidado si usa una de las tarjetas de gráficos Intel HD. Su memoria generalmente se comparte con la RAM principal del sistema y es dinámica, lo que significa que aumenta y disminuye según la demanda. En mi sistema, más tarde descubrí que puede crecer hasta 1,7 GB, y este valor parece ser estándar si tiene un sistema con 4,0 GB de RAM (mi caso). Si usa una tarjeta gráfica como esta, la salida anterior no será de mucha ayuda.
fuente
sudo dmesg | grep drm
como en la primera respuesta: obtuve 2048M, que utilicé para una aplicación en Wine y funcionó.top
ofree
, o es invisible para el sistema operativo? ¿Cómo se puede saber cuánta RAM ocupa el IGP compartido?Puedes probar esto:
o esto si el comando anterior falla:
Nada nuevo: solo miré otras publicaciones y agregué la coincidencia de patrones para una mejor salida formateada.
fuente
bash: / 1024: syntax error: operand expected (error token is "/ 1024")
Hay un programa llamado hardinfo , disponible en el Centro de software , que enumerará cada tarjeta de video (en el menú desplegable Dispositivos, en la categoría Dispositivos PCI) y las especificaciones de cada tarjeta, incluida la memoria y el proveedor / modelo.
fuente