Dlaczego OS X korzysta z pamięci wirtualnej, kiedy wciąż mam wolną pamięć RAM?

9

Mam tego niesamowitego MacBooka Pro z 8 GB pamięci RAM. Gdy otwieram Monitor aktywności, wydaje się, że mam dużo dostępnej pamięci RAM, ale mój komputer wydaje się preferować pamięć wirtualną do wielu rzeczy. Dlaczego to? Czy istnieje sposób, aby to zmienić? Czy byłoby to mądre?

Ponadto wydaje mi się, że mam 7 GB pageins i nie ma pageoutów. Czy to normalne? To dużo danych.

DCIndieDev
źródło
1
Zobacz to pytanie . Kiedy mówi pamięć wirtualna, nie oznacza to, że używa dysku jako pamięci RAM (rozmiar wymiany ma). Brak stron oznacza również, że nie przechowuje pamięci RAM na dysku.
ughoavgfhw
Wejścia i wyjścia stron są związane z SWAP, a NIE VM
Alexander - Przywróć Monikę

Odpowiedzi:

8

Wydaje się, że źle rozumiesz pamięć wirtualną. Pamięć wirtualna to po prostu mechanizm, za pomocą którego system operacyjny wygląda tak, jakby każdy program miał swoją własną, bardzo dużą (4 GB w 32-bitowej, 16 EB w 64-bitowej) przestrzeni adresowej. Zapewnia również systemowi operacyjnemu korzystanie ze stronicowania, a jednocześnie sprawia, że ​​wygląda (dla aplikacji) tylko z prawdziwej pamięci RAM. Krótko mówiąc, jest to tylko abstrakcja, a statystyki „pamięci wirtualnej” w monitorze aktywności są bez znaczenia (dla 99% przypadków użycia). Nie powinieneś się martwić o to, jaka liczba się tam pojawi, ponieważ nie ma to nic wspólnego z tym, czy używana jest „prawdziwa” pamięć RAM.

O statystykach stronicowania: nie podałeś żadnych szczegółów na temat korzystania z systemu, więc trudno jest ustalić, czy coś jest nie tak, ale nie zaalarmuje mnie wartość 7 GB. Zauważ też, że zgłaszane wartości to Wpisy / Wyjścia stron od uruchomienia, więc jeśli utrzymujesz laptopa cały czas jak ja, nic dziwnego, że liczba ta po pewnym czasie się zwiększa.

houbysoft
źródło
Problem pojawia się, gdy zaczynasz dostawać dużo stron. Wpisywanie stron jest tanie, gdy dostępna jest wolna pamięć fizyczna. Brak stron jest spowodowany tym, że system operacyjny musi coś włożyć do strony, ale nie ma wolnej pamięci fizycznej i musi najpierw coś zamienić. Z 8 GB pamięci RAM nie jest to trywialne.
alesplin,
Dobry punkt wyjścia do pomiaru statystyk stronicowania na żywo vm_statmożna znaleźć w tej odpowiedzi
bmike