Pamięć RAM jest bardzo ważna dla wydajności Linuksa z kilku powodów:
Skrytki Linux przez większość czasu działa bez wolnej pamięci. Jeśli niektóre aplikacje nie używają pamięci, są one wykorzystywane do pamięci podręcznych, co przyspiesza działanie. Więc nigdy nie marnuje się pamięci. Jeśli aplikacje potrzebują więcej pamięci, pamięci podręczne są zwalniane, więc pamięci podręczne nigdy nie zapobiegną uruchamianiu aplikacji wymagających więcej pamięci RAM. Ale im więcej możesz buforować, tym lepiej.
Wiele aplikacji (zwłaszcza stacjonarnych) potrzebuje obecnie dużej ilości pamięci. Nie jest to zaskoczeniem - większość systemów stacjonarnych (a nawet smartfonów) ma obecnie o wiele więcej pamięci niż Rapsberry Pi. Na przykład przeglądarki nawet lekkie) zużyją dziesiątki MB pamięci, jak tylko otworzysz jakąś większą stronę internetową.
Każda aplikacja potrzebuje pewnej ilości pamięci. Im więcej aplikacji uruchomisz, tym więcej pamięci będą zużywać.
Dlatego zawsze chcesz mieć jak najwięcej pamięci ARM. Ale GPU ma swoje potrzeby w zależności od wymaganych funkcji.
Wersja 256 MB
W przypadku starszych wersji RaspberryPi z 256 MB pamięci RAM dostępne są 4 podziały:
240/16 - Najwięcej pamięci RAM ARM (240 MB) naśladuje pamięć GPU. Jest to najlepsze rozwiązanie do obliczeń ogólnych, gdy nie potrzebujesz grafiki 3D ani sprzętowego przyspieszania wideo. Ma wystarczającą ilość pamięci do obsługi rozdzielczości bufora ramki 1920x1200x16bpp. Chociaż działa również 32 bpp, nie jest to zalecane, ponieważ pozostawia bardzo mało wolnej pamięci dla GPU.
224/32 - Ten jest przestarzały na rzecz podziału 240/16. Ma wbudowane dekodowanie 3D i sprzętowe wideo, ale ponieważ nie ma wystarczającej ilości pamięci, aby z niego korzystać, nie ma sensu z niego korzystać. Chyba że masz problemy z podziałem 240/16 lub chcesz użyć bufora ramki 32 bpp w najwyższej rozdzielczości. Możliwe, że zostaną usunięte w przyszłości.
192/64 - Aby korzystać ze sprzętowej akceleracji wideo lub grafiki 3D, potrzebujesz co najmniej 64 MB podziału GPU. Może być za mało pamięci GPU do sprzętowego przyspieszonego odtwarzania wideo w najwyższej rozdzielczości lub jeśli potrzebujesz dużo pamięci GPU na rzeczy takie jak tekstury.
128/128 - Najwięcej pamięci RAM może uzyskać. Użyj go, gdy potrzebujesz dużo pamięci do odtwarzania kart graficznych 3D i sprzętowego odtwarzania wideo w wysokiej rozdzielczości. Podział ten jest potrzebny do prawidłowego działania RaspBMC lub bezproblemowego odtwarzania treści wideo FullHD za pomocą omxplayera.
Wersja 512 MB
Nowe wersje RaspberryPi mają 512 MB pamięci RAM. Masz 4 dodatkowe podziały zaprojektowane dla tej wersji:
- 496/16 i 448/64 - lubią
240/16
i 192/64
dzielą odpowiednio na 256 MB, ale z 256 MB więcej pamięci RAM dostępnej dla ARM. Ponieważ GPU ma tylko 16 MB / 64 MB lub pamięć RAM, wszystkie ograniczenia z 240/16
/ 192/64
nadal obowiązują.
- 384/128 - podobny do podziału 128/128 dla 256 MB - powinieneś mieć wszystkie funkcje układu graficznego, ale z rozsądną ilością pamięci ARM. Prawdopodobnie będzie to teraz najbardziej uniwersalny podział.
- 256/256 - Jakaś dodatkowa pamięć karty graficznej, jeśli naprawdę jej potrzebujesz, na przykład dla dużych tekstur i podobnych rzeczy. Podczas gdy 256 MB pamięci ARM jest większe, niż można by było mieć w starszych RaspberryPis, nie sądzę, aby ta pamięć była używana wielokrotnie.
Dynamiczne podziały
Nowe wersje pakietu oprogramowania układowego usuwa większość start_*.elf
plików, pozostawiając tylko start.elf
i start_cd.elf
(także fixup*.elf
pliki, jeśli zostały dodane). Od teraz nie musisz ręcznie wybierać właściwego start_*.file
. Zamiast tego należy użyć gpu_mem*
opcji w config.txt
pliku, aby wybrać ilość pamięci przeznaczonej na procesor graficzny. Pozostała pamięć zostanie przydzielona do ARM. Dla tych opcji powinno być możliwe użycie dowolnego numeru z następującego zakresu:
**512MB of RAM**: 16M-448M
**256MB of RAM**: 16M-192M
Chociaż nie ma obecnie zakodowanych wartości podziału, większość informacji w pozostałej części tej odpowiedzi powinna nadal być poprawna, gdy próbujesz określić, ile pamięci należy przydzielić GPU.
start_cd.elf
a fixup_cd.elf
pliki są nacięcia wersje odpowiednich plików, jedynie gdy stosowane gpu_mem=16
.
Używanie jednej karty SD w wersji 256 i 512 MB
Jeśli używasz jednego obrazu karty SD dla różnych wersji RaspberryPi, możesz użyć gpu_mem_256
i gpu_mem_512
opcji. Pierwszy będzie używany tylko w wersji 256 MB, a drugi tylko w wersji 512 MB płyty.