Video belleği boyutu nasıl kontrol edilir?


61

Video belleğinin boyutunu kontrol etmenin bir yolu var mı? Özellikle, hem entegre GPU'lar hem de PCI / AGP grafik kartları için doğru çalışan bir tane var mı?

Birçok entegre GPU'nun dinamik olarak ayrılmış belleği vardır, bu nedenle çözüm umarım maksimum kullanılabilir video belleği veya o anda tahsis edilen miktarı geri verir. Bağımsız NVidia veya ATI kartlar için, toplam fiziksel GPU RAM miktarını açıkça verecektir.

lspci -vbellek rakamları çıktı, ancak video belleği olduğuna inanmıyorum. Rapor edilen rakamın bir miktar sistem belleği tahsisi veya blok veya kanal boyutu olduğundan şüpheliyim ama kesin olarak bilmiyorum. Bu test sonuçlarında , lspci'nin 6 testin 5'inde hatalı olduğunu görebilirsiniz :

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

Yani çünkü sen yok inan o rakamdır, bunu önermek cevapları kabul etmiyoruz?
RolandiXor

5
@Roland, belki de ifadelerim yanlış. Lspci çıktısı konusunda uzman değilim, ancak test sonuçları bağlantısında da görebileceğiniz gibi, toplam video belleği büyüklüğü vermiyor ve bu nedenle soruyu yanıtlamıyor.
drgrog

Yanıtlar:


28

Bu bir ATI 6370HD ayrık 1G grafik kartı ile dmesg'in o / p değeridir. "Tespit edilen VRAM RAM = 1024M, BAR = 256M", bu satırı kontrol edin.

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
Bu benim için çalışmaya son verdi, sadece dmesg'in daha fazlasını filtrelemek için hafif bir tweak:dmesg | grep VRAM
Ron E

2
intel i5 entegre grafiklerimde Memory usable by graphics device = 2048Mbaşka her şey söylediğinde kafam karıştı 256M(paylaşılan hafıza veya başka bir şey olabilir). DÜZENLEME: sadece askubuntu.com/a/475405/178596
Wilf

15

nvidia-settings bunu özel nvidiasürücüyü kullanan kartlar için yapar . Yanlış olabilir, ancak kartım için doğru. Video sürücüsünü özel olarak sorgulayan başka bir kullanıcı alanı aracı bilmiyorum.

Ayrıca deneyebilirsiniz sudo lshw -class displayama bunun lspci'den daha doğru olacağını garanti edemiyorum. Ayrıca bellek aralıklarını da raporlar, miktarları değil, bu yüzden biraz matematik yapmanız gerekir.

grep -i memory /var/log/Xorg.0.logSistem kartımdaki VRAM’ın doğru bir şekilde raporlandığını biliyorum . O mu değil sürücüyü kullanarak benim laptop için çalışmak radeonentegre Radeon Mobility cihazla.


Teşekkürler, ancak nvidia ayarları karta özgü. Ve evet, sanırım lshwaynı sistem belleği kaynaklarını lspcibildiriyorum, sadece lshw bunları boyutlar yerine adres aralıkları olarak bildiriyor.
drgrog

3
Buna cevap vermeye çalışmadan önce phoronix'i kontrol etmeyi düşünmeliydim. Sistemimde 768MB G80 ekran kartım, not aldığınız gibi lspci'de 256 MB olarak bildiriliyor. Forumdaki millet, bunun aslında PCI veri yolu üzerinden görülebilen açıklık olduğunu söyledi. Bir 'dmesg | grep VGA' yapmak, sistemimde de aynı sorunu veriyor, ancak başkaları için doğru şekilde çalıştığını duydum. Bellek /var/log/Xorg.0.log: 'NVIDIA (0): Bellek: 786432 kBytes' içinde doğru bir şekilde rapor edildi. Bu forum yayınından: phoronix.com/forums/… !
koanhead

1
Kendi senaryomu yazmam gerekecek gibi görünüyor. Şimdiye kadar grep kB /var/log/Xorg.0.logya da grep -i mem /var/log/Xorg.0.logbana nvidia kartları ve VirtualBox sanal makineleri için en doğru ve uygulanabilir verileri verin. Test edilecek bir ATI kartım yok ve entegre intel kartlarımı veya VMware VM'leri test etmek için bulamadım.
drgrog

1
fglrx: şunun grep kBytegibi bir şeyle sonuçlanacaktır: Video RAM: 1048576 kByte, Type: GDDR5sadece kB için grepping bazı VESA öğelerini de gösterecektir.
taneli

xserver-xorg-video-ati: grep "mem size"şunun gibi bir şeyle sonuçlanacaktır: RADEON(0): mem size init: gart size :1fdff000 vram size: s:40000000 visible:f6f6000bundan en iyi elde edebileceğim en iyi şey, hafıza boyutunun altıgen olduğu altıs:
taneli

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

Benim sistem çıkışları

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

Bu, entegre video kartına atanmış 256 MB belleğe sahip olduğu anlamına gelir.

Güncelleme : ancak, Intel HD Graphics kartlarından birini kullanıyorsanız dikkatli olun. Belleği genellikle sistemin ana RAM'iyle paylaşılır ve dinamiktir, yani talep üzerine artar ve azalır. Sistemimde daha sonra 1,7 GB'a kadar büyüyebileceğini keşfettim ve eğer 4.0 GB RAM'e sahip bir sisteminiz varsa bu durum standart görünüyor (benim durumum). Böyle bir grafik kartı kullanırsanız, yukarıdaki çıktı çok yardımcı olmayacaktır.


2
sudo dmesg | grep drmİlk cevaptaki gibi çalıştırarak ne kadarını bulabilirsin - Wine'da bir uygulama için kullandığım 2048M'i aldım ve çalıştı.
Wilf

1
Ana bellek ile paylaşan grafik kartları için, gibi şeyler tarafından maruz bu bellek kullanımıdır topveya freeyoksa OS görünmez? Paylaşılan IGP tarafından ne kadar RAM kullanıldığını nasıl öğreniriz?
CMCDragonkai

5

Bunu deneyebilirsiniz:

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

veya yukarıdaki komut başarısız olursa:

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

Yeni bir şey yok - sadece diğer gönderilere baktım ve daha iyi biçimlendirilmiş bir çıktı için desen eşleştirme eklendi.


Her ikisi de Ubuntu'da çalışmıyor 14.04 Asus G551JM notebook (çift grafik, GeForce GTX 860M dahil)
Adam Ryczkowski

1
İlk komut hata döndürüyorbash: / 1024: syntax error: operand expected (error token is "/ 1024")
Adam Ryczkowski

Komut satırından benim için çalışan tek çözüm bu!
Panayotis

ikinci komut tam video ram boyutunu döndürür
Mudit Kapil

1

Adında bir program yok hardinfo , Yazılım Merkezi'nde mevcut (PCI Devices kategorisinde Cihazlar açılır menünün altında,) her video kartı ve bellek ve satıcı / modeli de dahil olmak her kart için teknik özeliklerini, dışarı listeler.


1
Teşekkürler Nathan, ancak hardinfo, lshw ve lspci vb. Bilgilerinden elde edilen bilgiler için sadece bir GUI'dir. Cevabın yazar tarafından kaldırıldığı görülmesine rağmen, daha önce önerildiğini hatırlıyorum.
drgrog

hardinfo serin, ancak GPU hafızasına söylemedi.
Adam Ryczkowski
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.