Używam OS X od kilku miesięcy (Lion, a teraz Mountain Lion). Mam 8 GB na moim mini i prawie codziennie zbliżam się do tego. Na komputerze z systemem Windows 7 o pojemności 8 GB nigdy nie miałem tego rodzaju problemu. W każdym razie czytam w Internecie, że nieaktywna pamięć jest pamięcią podręczną aplikacji ostatnio zamkniętych programów i może być używana do szybszego ponownego otwarcia. W razie potrzeby tę nieaktywną pamięć można zwolnić w nowej aplikacji. Nie jest wydany. Zamiast tego OS X zaczyna zamieniać. Moje pytanie brzmi więc, dlaczego OS X używa wymiany, gdy jest dużo „nieaktywnej pamięci”? Oto ekran, który pokazuje, co mam na myśli:
Naprawdę mam nadzieję, że jest jakiś problem, aby OS X używał tych 2,69 GB przed rozpoczęciem zamiany. Naprawdę.
Odpowiedzi:
Zamiana najwyraźniej miała miejsce, gdy nieaktywne strony RAM były faktycznie aktywne.
( Aktualizacja: jak wyjaśniono w komentarzu, to nie jest twój przypadek. Dlatego osoby z tym samym problemem mogą przejść do reguły poziomej ).
Tzn. Masz uruchomionych wiele programów, a jądro zamieniło niektóre strony. Potem opuściłeś niektóre programy. Jądro oznacza strony RAM jako nieaktywne. Ale nie zamieni stron z powrotem do pamięci RAM, dopóki te strony nie będą potrzebne. Powoduje to, że strony są zarówno nieaktywne, jak i zamienione.
Dlaczego nie zapobiegawczo zamienić strony? Ponieważ byłoby to obstawianie przeciwko kursowi: na dłuższą metę przegrywasz. Pomyślmy o uproszczonym przykładzie: dwa programy A i B, które nie mieszczą się w pamięci RAM jednocześnie. Program A nadal działa, a wszystkie zamienione strony należą do A. Program B został zamknięty, a wszystkie nieaktywne strony należą do B.
Jeśli jądro zapobiegawczo zamienia strony A i natychmiast po:
Weź również pod uwagę, że zamiana (zapis na dysk) jest droższa niż zamiana (odczyt z dysku). Co sprawia, że ten „zakład” jest jeszcze bardziej nieaktywny.
Krótko mówiąc: zaufaj swojemu jądru i nie próbuj go przechytrzyć.
Aktualizacja: okazuje się, że nieaktywna pamięć nie działa, ponieważ artykuł Korzystanie z Monitora aktywności do czytania artykułu Pamięć systemowa spowodował, że wiele osób uważa, że działa. Definicja podana w artykule dla nieaktywnej pamięci jest poprawna:
Ale poniższy przykład jest całkowicie mylący i nadmiernie uproszczony (tak jak mój przykład szczerze mówiąc):
Szukałem więcej zasobów online i znalazłem ten wątek na liście mailingowej jądra darwina, co jest dość pouczające. Cytując Jima Magee (z zespołu Darwina - tak myślę):
To wyjaśnia zachowanie, które obserwujesz. Oznacza to, że nieaktywne strony, które widzisz, należą do uruchomionych programów, które nie były ostatnio używane. Kiedy uruchamiasz nowy program, nieaktywne strony są zamieniane. Jednocześnie strony z innych programów są oznaczone jako nieaktywne, aby utrzymać stosunek 2/1 między aktywnym a nieaktywnym.
Nitka zawiera także pewne sugestie, aby dowiedzieć się więcej na temat wewnętrznych Darwin. Istnieją również pewne sugestie na wypadek, gdybyś zaczął badać wykorzystanie pamięci z powodu problemów z piłką plażową (które zwykle mają z tym niewiele wspólnego).
Wniosek pozostaje ten sam: zaufaj swojemu jądru i nie próbuj go przechytrzyć. :-)
źródło
Możesz bezpiecznie wyłączyć stronicowanie, jeśli masz wystarczającą ilość pamięci RAM.
Wypróbuj te polecenia.
Następnie uruchom ponownie i sprawdź, czy proces dynamic_pager nie jest już uruchomiony.
Upewnij się, że nie utworzono żadnych plików wymiany
/private/var/vm/
.Aby ponownie włączyć, spróbuj wykonać następujące polecenia:
Możesz także wyłączyć Spotlight, aby zwolnić więcej pamięci RAM i zmniejszyć aktywność dysku. Poniższe polecenia służą do wyłączania i włączania Spotlight.
źródło
Niewiele możesz zrobić. Dlaczego to robi? Ponieważ tak właśnie działa OS X. Ciekawe jest to, jak zajęta pamięć powiększa się z każdym snem na komputerze Mac.
Co możesz zrobić:
źródło
System działa zgodnie z przeznaczeniem. Nawet gdy nie ma presji pamięci, warto napisać strony, których nie można odrzucić, ale nie zostały ostatnio użyte do wymiany, gdy system nie jest zajęty. W ten sposób, jeśli później pojawi się presja pamięci, strony te można eksmitować z pamięci RAM bez konieczności zapisywania ich w celu zamiany, gdy system jest zajęty.
źródło