Как проверить размер видеопамяти?

Существует ли способ проверить размер видеопамяти? А именно, есть ли тот, который работает точно на обоих, интегрировал, а также видеокарты GPU PCI/AGP?

Многие интегрировались, GPU динамично выделили память, таким образом, решение, надо надеяться, возвратило бы или максимальную доступную видеопамять или в настоящее время выделяемую сумму. Для автономной Nvidia или карт ATI это, очевидно, возвратило бы общую сумму физической RAM GPU.

lspci -v действительно производит числа памяти, но я не полагаю, что это - видеопамять. Я подозреваю, что число, о котором сообщают, является некоторым выделением системной памяти или блоком или размером канала, но я не знаю наверняка. Вы видите в этих результатах испытаний, что lspci был неправильным в 5 из 6 тестов:

** 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]
62
задан 17 April 2016 в 16:41

6 ответов

настройки Nvidia делают это для карт с помощью собственного nvidia драйвер. Это может быть неточно, но это корректно для моей конкретной карты. Я не знаю ни о каком другом инструменте пространства пользователя, который конкретно запрашивает видеодрайвер.

Можно также попробовать sudo lshw -class display но я не могу гарантировать, что это будет больше точно, чем lspci. Также это сообщает о диапазонах памяти, не суммах, таким образом, необходимо было бы сделать некоторую математику.

Я нахожу это grep -i memory /var/log/Xorg.0.log правильно сообщает о VRAM относительно карты моей системы. Это не работает на мой ноутбук с помощью драйвера radeon с интегрированным устройством Radeon Mobility.

15
ответ дан 22 November 2019 в 23:37

Существует программа, названная hardinfo, доступным в Центре программного обеспечения, который перечислит каждую видеокарту (под выпадающими Устройствами, в категории PCI Devices) и спецификации для каждой карты, включая память и поставщика/модель.

1
ответ дан 22 November 2019 в 23:37

Это - o/p dmesg с ATI 6370HD дискретная видеокарта 1G. "Обнаруженный VRAM RAM=1024M, BAR=256M", проверяют на эту строку.

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
ответ дан 22 November 2019 в 23:37
LC_ALL=C lspci -v | grep -EA10 "3D|VGA" | grep 'prefetchable' 

Мои системные выводы

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

Что означает, что этому выделили 256 МБ памяти на интегрированную видеокарту.

Обновление: однако, остерегайтесь при использовании одной из карт Intel HD Graphics. Его память обычно совместно используется с основной RAM системы, и это динамично, что означает, что она увеличивается и уменьшается по требованию. В моей системе я позже обнаружил, что она может расти к 1,7 ГБ, и это значение, кажется, является стандартным, если у Вас есть система с 4,0 ГБ RAM (мой случай). При использовании видеокарты как это вышеупомянутый вывод не поможет.

13
ответ дан 22 November 2019 в 23:37

Можно попробовать это:

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

или это, если вышеупомянутая команда перестала работать:

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

Ничто нового - просто не посмотрело на другие сообщения и добавило сопоставление с образцом для лучшего отформатированного вывода.

5
ответ дан 22 November 2019 в 23:37

Следующее сработало для меня:

glxinfo | egrep -i 'device|memory'
13
ответ дан 24 June 2020 в 05:24

Другие вопросы по тегам:

Похожие вопросы: