Czy istnieje sposób sprawdzenia wielkości pamięci wideo? W szczególności, czy istnieje taki, który działa dokładnie zarówno dla zintegrowanych kart graficznych, jak i kart graficznych PCI / AGP?
Wiele zintegrowanych procesorów graficznych ma dynamicznie przydzielaną pamięć, więc rozwiązanie może zwrócić albo maksymalną dostępną pamięć wideo, albo aktualnie przydzieloną ilość. W przypadku samodzielnych kart NVidia lub ATI w oczywisty sposób zwróciłoby całkowitą ilość fizycznej pamięci RAM GPU.
lspci -v
generuje dane z pamięci wyjściowej, ale nie wierzę, że to pamięć wideo. Podejrzewam, że podana liczba dotyczy alokacji pamięci systemowej, rozmiaru bloku lub kanału, ale nie jestem tego pewien. Możesz zobaczyć w tych wynikach testu, że lspci mylił się w 5 z 6 testów:
** 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]
Odpowiedzi:
To jest o / p dmesg z dyskretną kartą graficzną 1G ATI 6370HD. „Wykryto RAM VRAM = 1024 M, BAR = 256 M”, sprawdź tę linię.
źródło
dmesg | grep VRAM
Memory usable by graphics device = 2048M
kiedy wszystko inne mówi256M
na mojej zintegrowanej grafice Intel i5 (może to być pamięć współdzielona lub coś takiego). EDYCJA: wystarczy przeczytać askubuntu.com/a/475405/178596nvidia-settings robi to dla kart korzystających z zastrzeżonego
nvidia
sterownika. Może to być niedokładne, ale jest właściwe dla mojej konkretnej karty. Nie znam żadnego innego narzędzia przestrzeni użytkownika, które specjalnie odpytuje sterownik wideo.Możesz także spróbować,
sudo lshw -class display
ale nie mogę zagwarantować, że będzie bardziej dokładny niż lspci. Zgłasza także zakresy pamięci, a nie ilości, więc musisz wykonać matematykę.Uważam, że
grep -i memory /var/log/Xorg.0.log
poprawnie zgłasza pamięć VRAM na karcie mojego systemu. To ma nie pracować dla mojego laptopa za pomocą sterownikaradeon
z urządzeniem zintegrowany Radeon Mobility.źródło
lshw
zgłasza te same zasoby pamięci systemowej colspci
, tylko lshw zgłasza je jako zakresy adresów zamiast rozmiarów.grep kB /var/log/Xorg.0.log
lubgrep -i mem /var/log/Xorg.0.log
podaj mi najbardziej dokładne i wykonalne dane dotyczące kart NVIDIA i maszyn wirtualnych VirtualBox. Nie mam żadnych kart ATI do przetestowania i nie przystąpiłem do testowania zintegrowanych kart Intel lub maszyn wirtualnych VMware.grep kByte
spowoduje coś takiego:Video RAM: 1048576 kByte, Type: GDDR5
grepowanie tylko dla kB pokaże również niektóre elementy VESA.grep "mem size"
spowoduje coś takiego:RADEON(0): mem size init: gart size :1fdff000 vram size: s:40000000 visible:f6f6000
to jest najlepsze, co mogę z tego wyciągnąć, gdzie rozmiar pamięci jest szesnastkowy pos:
Mój system wychodzi
Co oznacza, że ma 256 MB pamięci poświęconej zintegrowanej karcie graficznej.
Aktualizacja : uważaj jednak, jeśli używasz jednej z kart graficznych Intel HD. Jego pamięć jest zwykle współdzielona z główną pamięcią RAM systemu i jest dynamiczna, co oznacza, że zwiększa się i zmniejsza na żądanie. W moim systemie później odkryłem, że może on wzrosnąć do 1,7 GB, a ta wartość wydaje się standardowa, jeśli masz system z 4,0 GB pamięci RAM (mój przypadek). Jeśli użyjesz takiej karty graficznej, powyższe dane wyjściowe nie będą zbyt pomocne.
źródło
sudo dmesg | grep drm
jak w pierwszej odpowiedzi - mam 2048 mln, których użyłem do aplikacji w Wine i zadziałało.top
czyfree
też jest niewidoczne dla systemu operacyjnego? Jak dowiedzieć się, ile pamięci RAM zajmuje współdzielony IGP?Możesz spróbować:
lub jeśli powyższe polecenie nie powiedzie się:
Nic nowego - po prostu spojrzałem na inne posty i dodał dopasowanie wzorca dla lepszego sformatowania danych wyjściowych.
źródło
bash: / 1024: syntax error: operand expected (error token is "/ 1024")
W Centrum oprogramowania dostępny jest program o nazwie hardinfo , który wyświetla listę każdej karty wideo (w menu rozwijanym Urządzenia, w kategorii Urządzenia PCI) oraz specyfikacje każdej karty, w tym pamięć i producenta / model.
źródło