Skip to content

Dlaczego nie powinieneś wyłączać pamięci wirtualnej na komputerze Mac

22 de lipiec de 2021
img 5972786e087a3 1024x469 1

Twój Mac jest dostarczany z określoną ilością pamięci fizycznej, z której mogą korzystać aplikacje. Uruchomione programy, otwarte pliki i inne dane, z którymi aktywnie pracuje Twój Mac, są przechowywane w tej fizycznej pamięci. Ale to uproszczenie — aplikacje mogą również korzystać z „pamięci wirtualnej”, którą Twój Mac może skompresować i tymczasowo przechowywać na dysku.

Nie ma oficjalnego sposobu na wyłączenie pamięci wirtualnej na współczesnym komputerze Mac, chociaż było to możliwe w czasach przed wydaniem systemu Mac OS X – teraz zwanego macOS. Chociaż możliwe jest zhakowanie systemu, aby uniemożliwić komputerowi Mac przechowywanie pamięci wirtualnej na dysku, nie należy tego robić.

Co to jest pamięć wirtualna?

Chociaż komputer Mac ma tylko ograniczoną ilość pamięci fizycznej, udostępnia uruchomionym programom większy obszar dostępnej pamięci wirtualnej. Na przykład, nawet jeśli masz komputer Mac z 8 GB pamięci RAM, każdy 32-bitowy proces na komputerze Mac otrzymuje 4 GB dostępnej przestrzeni adresowej, z której może korzystać. Każdy 64-bitowy proces otrzymuje około 18 eksabajtów — czyli 18 miliardów gigabajtów — przestrzeni, z którą może pracować.

Aplikacje mogą swobodnie wykorzystywać tyle pamięci, ile chcą w ramach tych ograniczeń. Gdy pamięć fizyczna się zapełni, macOS automatycznie „stronicuje” dane, które nie są aktywnie używane, przechowując je na wewnętrznym dysku komputera Mac. Gdy dane są ponownie potrzebne, są przesyłane z powrotem do pamięci RAM. Jest to wolniejsze niż zwykłe trzymanie danych w pamięci RAM przez cały czas, ale pozwala systemowi na transparentne „kontynuowanie pracy”. Jeśli komputery Mac nie mogą przechowywać danych z pamięci wirtualnej na dysku, zobaczysz komunikaty z prośbą o zamknięcie programu w celu kontynuowania.

Jest to zasadniczo to samo, co plik stronicowania w systemie Windows i przestrzeń wymiany w systemie Linux i innych systemach operacyjnych podobnych do UNIX. W rzeczywistości macOS sam w sobie jest systemem operacyjnym podobnym do systemu UNIX.


Nowoczesne wersje macOS przechodzą jeszcze więcej problemów, aby uniknąć stronicowania danych na dysk, kompresowanie danych zapisanych w pamięci jak najwięcej przed stronicowaniem.

1626939570 876 Dlaczego nie powinienes wylaczac pamieci wirtualnej na komputerze Mac

Gdzie to jest przechowywane?

Dane pamięci wirtualnej są przechowywane w /private/var/vm katalogu w pamięci wewnętrznej komputera Mac, jeśli został stronicowany na dysku. Dane są przechowywane w jednym lub kilku plikach o nazwie „plik wymiany” i zakończonych numerem.

Większość systemów operacyjnych podobnych do UNIX używa oddzielnej partycji dla pliku wymiany, na stałe przydzielając część pamięci do przestrzeni wymiany. MacOS firmy Apple tego nie robi. Zamiast tego przechowuje pliki wymiany plików na dysku systemowym. Jeśli aplikacje nie potrzebują dodatkowej pamięci wirtualnej, pliki te nie zajmują dużo miejsca. Jeśli aplikacje potrzebują więcej pamięci wirtualnej, te pliki będą się powiększać zgodnie z potrzebami, a następnie zmniejszą się, gdy nie będą już potrzebne.

Ten katalog zawiera również plik „sleepimage”, który przechowuje zawartość pamięci RAM komputera Mac na dysku podczas hibernacji. Dzięki temu komputer Mac może zapisać swój stan — w tym wszystkie otwarte aplikacje i pliki — podczas wyłączania i nieużywania żadnego zasilania.

Aby wyświetlić zawartość tego katalogu i zobaczyć, ile miejsca aktualnie zajmują te pliki na dysku, możesz otworzyć okno Terminal i uruchomić następujące polecenie. (Aby otworzyć okno Terminal, naciśnij Command + Space, aby otworzyć wyszukiwanie Spotlight, wpisz „Terminal” i naciśnij Enter.)

ls -lh /private/var/vm

Na poniższym zrzucie ekranu widzimy, że każdy z tych plików ma rozmiar 1 GB na moim Macu.

1626939570 849 Dlaczego nie powinienes wylaczac pamieci wirtualnej na komputerze Mac

Dlaczego nie należy wyłączać pamięci wirtualnej

Naprawdę nie powinieneś próbować wyłączać tej funkcji. System operacyjny macOS i uruchomione aplikacje oczekują, że będzie on włączony. W rzeczywistości oficjalna dokumentacja Apple mówi „Zarówno OS X, jak i iOS zawierają w pełni zintegrowany system pamięci wirtualnej, którego nie można wyłączyć; jest zawsze włączony”.


Jednak jest technicznie można wyłączyć magazyn kopii zapasowych – to znaczy te pliki wymiany na dysku – w systemie MacOS. Obejmuje to wyłączenie ochrony integralności systemu przed poinformowaniem komputera Mac, aby nie uruchamiał demona systemowego dynamic_pager, a następnie usunięcia plików wymiany. Nie udostępnimy tutaj odpowiednich poleceń, aby to zrobić, ponieważ nie zalecamy tego nikomu.

System operacyjny macOS i działające na nim aplikacje oczekują, że system pamięci wirtualnej będzie działał poprawnie. Jeśli twoja pamięć fizyczna się zapełni, a system operacyjny Mac nie może przesłać danych na dysk, stanie się jedna z dwóch złych rzeczy: albo zobaczysz monit o zamknięcie jednej lub więcej aplikacji, aby kontynuować, albo aplikacje ulegną awarii i możesz doświadczyć ogólnej niestabilności systemu.

Tak, nawet jeśli masz 16 GB lub więcej pamięci RAM, czasami może się ona zapełnić — zwłaszcza jeśli używasz wymagających profesjonalnych aplikacji, takich jak edytory wideo, audio lub obrazów, które muszą przechowywać dużo danych w pamięci. Zostaw to w spokoju.

Nie martw się o miejsce na dysku lub dysk SSD

Istnieją dwa powody, dla których ludzie mogą chcieć wyłączyć funkcję pamięci wirtualnej i usunąć pliki wymiany z dysku.

Po pierwsze, możesz martwić się o wykorzystanie miejsca na dysku. Możesz pozbyć się tych plików, aby zwolnić trochę miejsca. Cóż, nie martwilibyśmy się tym. Te pliki nie marnują dużej ilości miejsca na dysku. Jeśli Twój Mac nie potrzebuje dużo pamięci wirtualnej, będą one małe. Na naszym MacBooku Air z tylko 4 GB pamięci RAM zauważyliśmy plik wymiany, który zajmuje około 1 GB miejsca – to wszystko.


Jeśli zajmują dużo miejsca, to dlatego, że programy, które masz otwarte, tego potrzebują. Spróbuj zamknąć wymagające programy – lub nawet zrestartować – a pliki wymiany powinny się zmniejszyć i przestać używać miejsca. Twój Mac używa miejsca na dysku tylko wtedy, gdy jest to konieczne, więc nic nie tracisz.

Jeśli pliki pamięci wirtualnej są zawsze bardzo duże, oznacza to, że potrzebujesz więcej pamięci RAM na komputerze Mac, a nie, że musisz wyłączyć funkcję pamięci wirtualnej. (Możesz sprawdzić, ile pamięci fizycznej ma Twój komputer Mac, klikając menu Apple> Informacje o tym Macu i czytając, co jest napisane obok „Pamięć”.)

1626939570 90 Dlaczego nie powinienes wylaczac pamieci wirtualnej na komputerze Mac

Drugim problemem jest zużycie wewnętrznego dysku SSD komputera Mac. Wiele osób obawia się, że nadmierne zapisy na dysku SSD mogą skrócić jego żywotność i spowodować problemy. W teorii jest to prawda, ale w praktyce ta obawa jest ogólnie przesadzona i pozostała z czasów, gdy dyski SSD miały znacznie krótszą żywotność. Nowoczesne dyski SSD powinny działać długo, nawet przy włączonych takich funkcjach. macOS nie zużyje szybko dysku SSD tylko dlatego, że pozostawisz włączoną domyślną funkcję systemu — w rzeczywistości coś innego na komputerze Mac prawdopodobnie umrze przed dyskiem SSD.

Innymi słowy, nie martw się tym. Zostaw pamięć wirtualną i pozwól komputerowi Mac działać tak, jak został zaprojektowany.

Czy ten post był pomocny?