Як перевірити розмір відеопам'яті?


61

Чи є спосіб перевірити розмір відеопам'яті? Зокрема, чи є одна, яка точно працює як для інтегрованих графічних процесорів, так і для відеокарт PCI / AGP?

Багато інтегрованих графічних процесорів мають динамічно розподілену пам’ять, тому рішення, сподіваємось, поверне або максимальну доступну відеопам'ять, або поточний розподілений обсяг. Для самостійних карт NVidia або ATI, очевидно, повертається загальна кількість фізичної пам'яті 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]

Отже, оскільки ви не вірите, що це фігура, ви не приймаєте відповідей, які це підказують?
RolandiXor

5
@Roland, можливо, моє формулювання неправильне. Я не є експертом щодо виводу lspci, але, як ви бачите у посиланні на результати тесту, він не дає загального розміру відеопам'яті, а значить, не відповідає на питання.
drgrog

Відповіді:


28

Це o / p dmesg з дискретною графічною карткою 1G ATI 6370HD. "Виявлена ​​оперативна пам'ять VRAM = 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.

4
Це те, що закінчилося для мене, легкий твіт, щоб відфільтрувати більше dmesg:dmesg | grep VRAM
Ron E,

2
бентежить, Memory usable by graphics device = 2048Mколи все інше говорить 256Mпро мою інтегровану графіку Intel i5 (можливо, спільна пам'ять чи щось таке). EDIT: просто читайте askubuntu.com/a/475405/178596
Вільф

15

nvidia-settings робить це для карт із використанням власного nvidiaдрайвера. Це може бути неточним, але це правильно для моєї конкретної картки. Я не знаю жодного іншого інструменту простору користувача, який спеціально запитує відеодрайвер.

Ви також можете спробувати, sudo lshw -class displayале я не можу гарантувати, що він буде більш точним, ніж lspci. Крім того, він повідомляє про діапазони пам'яті, а не про кількість, тому вам доведеться зайнятися математикою.

Я вважаю, що grep -i memory /var/log/Xorg.0.logправильно повідомляє VRAM на картці моєї системи. Це не працює для мого ноутбука, використовуючи драйвер radeonіз вбудованим пристроєм Radeon Mobility.


Дякую, але налаштування nvidia залежать від картки. І так, я вважаю, що lshwповідомляє ті самі ресурси системної пам'яті lspci, що лише lshw повідомляє про них як діапазони адрес замість розмірів.
drgrog

3
Я мав би подумати перейти перевірити форонікс, перш ніж спробувати відповісти на це. У моїй системі моя 768MB відеокарта G80 повідомляється як 256 Мб у lspci, як ви зазначаєте. Люди на форумі сказали, що це власне діафрагма, яка видно через шину PCI, що має сенс. Виконання 'dmesg | grep VGA' створює таку ж проблему в моїй системі, хоча я чув, що вона працює правильно для інших. Про пам'ять повідомляється правильно у /var/log/Xorg.0.log: 'NVIDIA (0): Пам'ять: 786432 кБайт'. З цього повідомлення на форумі: phoronix.com/forums/… !
koanhead

1
Схоже, мені доведеться написати власний сценарій. Поки grep kB /var/log/Xorg.0.logабо grep -i mem /var/log/Xorg.0.logдайте мені найточніші та працездатні дані для nvidia-карток та віртуальної віртуальних машин VirtualBox. У мене немає жодних ATI-карт для тестування, і я не обійшов тестування своїх інтегрованих інтелект-карт або VMware VM.
drgrog

1
fglrx: grep kByteпризведе до чогось подібного:, Video RAM: 1048576 kByte, Type: GDDR5прив’язання лише до kB також покаже деякі елементи VESA.
танелі

xserver-xorg-video-ati: grep "mem size"призведе до чогось такого: RADEON(0): mem size init: gart size :1fdff000 vram size: s:40000000 visible:f6f6000що найкраще, що я міг би вийти з нього, де розмір пам’яті в шістнадцятковій s:
формі

13
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. Його пам'ять зазвичай поділяється з основною оперативною пам’яттю системи і є динамічною, а значить, збільшується і зменшується на вимогу. Пізніше у своїй системі я виявив, що вона може вирости до 1,7 ГБ, і це значення здається стандартним, якщо у вас є система з 4,0 ГБ оперативної пам’яті (мій випадок). Якщо ви користуєтеся такою графічною картою, вищенаведений вихід не буде корисним.


2
Можливо, ви зможете дізнатися, скільки працює, sudo dmesg | grep drmяк у першій відповіді - я отримав 2048M, який я використав для програми під Wine, і він працював.
Вільф

1
Чи є ця відеопам'ять для відеокарт, які мають загальну пам'ять, піддаються такі речі, як, topчи freeвона невидима для ОС? Як можна дізнатися, скільки оперативної пам’яті займає спільний IGP?
CMCDragonkai

5

Ви можете спробувати це:

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"

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


Обидва не працюють для ноутбука Ubuntu 14.04 Asus G551JM (подвійна графіка, включаючи GeForce GTX 860M)
Адам Ріцковський

1
Перша команда повертає помилкуbash: / 1024: syntax error: operand expected (error token is "/ 1024")
Адам Ріцковський

Це єдине рішення, яке працювало для мене, з командного рядка!
Панайотис

друга команда повертає точний розмір
відеорама

1

У центрі програмного забезпечення є програма під назвою hardinfo , яка містить список кожної відеокарти (у спадному меню Пристрої, у категорії пристроїв PCI) та характеристики кожної карти, включаючи пам'ять та постачальника / модель.


1
Дякую Натане, але жорсткі відомості - це лише інтерфейс gui для інформації, отриманої від lshw та lspci тощо.
drgrog

hardinfo - це круто, але не повідомляє пам'ять GPU.
Адам Річковський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.