Dlaczego nie należy wyłączać pamięci wirtualnej na komputerze Mac
Komputer Mac jest wyposażony w określoną liczbę aplikacji pamięci fizycznej, z których można korzystać. Twoje działające programy, otwarte pliki i inne dane, z którymi Twój Mac aktywnie współpracuje, są przechowywane w tej fizycznej pamięci. Ale to jest uproszczenie - aplikacje mogą również używać "pamięci wirtualnej", którą Twój komputer Mac może kompresować i tymczasowo przechowywać na dysku.
Nie ma oficjalnego sposobu wyłączenia pamięci wirtualnej na nowoczesnym komputerze Mac, chociaż było to możliwe w czasach, gdy Mac OS X - teraz o nazwie macOS - został wydany. Chociaż może być możliwe zhakowanie systemu, aby uniemożliwić Macowi przechowywanie pamięci wirtualnej na dysku, nie powinieneś tego robić.
Czym jest pamięć wirtualna?
Podczas gdy komputer Mac ma tylko ograniczoną ilość pamięci fizycznej, eksponuje większy obszar dostępnej pamięci wirtualnej na działające programy. Na przykład, nawet jeśli masz komputer Mac z 8 GB pamięci RAM, każdy 32-bitowy proces na komputerze Mac ma 4 GB dostępnej przestrzeni adresowej, z której może korzystać. Każdy proces 64-bitowy ma około 18 eksabajtów - czyli 18 miliardów gigabajtów - miejsca, z którym może pracować.
Aplikacje mogą dowolnie wykorzystywać tyle pamięci, ile chcą w ramach tych ograniczeń. Gdy pamięć fizyczna zapełni się, macOS automatycznie "stronicuje" dane, które nie są aktywnie używane, przechowując je na dysku wewnętrznym komputera Mac. Gdy dane są ponownie potrzebne, są przesyłane z powrotem do pamięci RAM. Jest to wolniejsze niż po prostu utrzymywanie danych w pamięci RAM przez cały czas, ale pozwala na to, aby system w przejrzysty sposób "działał". Jeśli komputery Mac nie mogą przechowywać danych z pamięci wirtualnej na dysku, zobaczysz komunikat z prośbą o zamknięcie programu, aby kontynuować.
Jest to w zasadzie to samo, co plik strony w systemie Windows i miejsce wymiany w systemie Linux i innych systemach operacyjnych podobnych do systemu UNIX. W rzeczywistości macOS to sam system operacyjny podobny do systemu UNIX.
Współczesne wersje macOS napotkają jeszcze więcej problemów, aby uniknąć wysyłania danych na dysk, kompresując dane przechowywane w pamięci tak bardzo, jak to możliwe, przed ich wysłaniem.
Gdzie jest przechowywany?
Dane pamięci wirtualnej są przechowywane w / private / var / vm
katalog na wewnętrznej pamięci Twojego komputera Mac, jeśli został przeniesiony na dysk. Dane są przechowywane w jednym lub kilku plikach o nazwie "swapfile", a kończą na numerze.
Większość systemów operacyjnych typu UNIX używa oddzielnej partycji dla pliku wymiany, trwale przydzielając część pamięci do wymiany. MacOS Apple nie robi tego. Zamiast tego przechowuje pliki wymiany na dysku systemowym. Jeśli aplikacje nie potrzebują dodatkowej pamięci wirtualnej, pliki te nie będą zajmowały dużo miejsca. Jeśli aplikacje potrzebują więcej pamięci wirtualnej, pliki te będą się powiększać w razie potrzeby, a następnie zmniejszą się, gdy nie będą już duże..
Ten katalog zawiera także plik "sleepimage", który przechowuje zawartość pamięci RAM twojego komputera Mac na dysku, gdy hibernuje. Dzięki temu komputer Mac może zachować swój stan - w tym wszystkie otwarte aplikacje i pliki - podczas wyłączania i nieużywania żadnej mocy.
Aby wyświetlić zawartość tego katalogu i sprawdzić, ile miejsca te pliki obecnie używają 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.
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ą jego włączenia. 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 tak jest technicznie możliwe wyłączenie magazynu kopii zapasowych - czyli tych plików wymiany na macOSie z dyskiem. Obejmuje to wyłączenie Ochrony integralności systemu przed powiedzeniem Macintoshu, aby nie uruchamiał demona systemu dynamic_pager, a następnie usuwał pliki swap. Nie dostarczymy odpowiednich poleceń, aby to zrobić tutaj, ponieważ nie zalecamy, aby ktoś to robił.
System operacyjny macOS i działające na nim aplikacje oczekują prawidłowego działania systemu pamięci wirtualnej. Jeśli pamięć fizyczna zapełni się, a system operacyjny Mac nie będzie mógł przesłać danych na dysk, wystąpi jedna z dwóch złych rzeczy: albo pojawi się monit z informacją, że chcesz opuścić jedną lub więcej aplikacji, aby kontynuować, albo wystąpi awaria aplikacji i może wystąpić ogólna niestabilność systemu.
Tak, nawet jeśli masz 16 GB lub więcej pamięci RAM, czasami może się to zapełnić - zwłaszcza jeśli używasz wymagających profesjonalnych aplikacji, takich jak wideo, audio lub edytory graficzne, które muszą przechowywać dużo danych w pamięci. Zostaw to w spokoju.
Nie martw się o miejsce na dysku ani 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 przejmowalibyśmy się tym. Pliki te nie marnują dużej ilości miejsca na dysku. Jeśli Twój Macintosh nie potrzebuje dużo pamięci wirtualnej, będą małe. Na naszym MacBooku Air z tylko 4 GB pamięci RAM, zauważyliśmy plik wymiany zawierający około 1 GB miejsca - to wszystko.
Jeśli używają dużo miejsca, dzieje się tak dlatego, że otwarte programy potrzebują tego. Spróbuj zamknąć wymagające programy - lub nawet zrestartować - pliki plików wymiany powinny się zmniejszyć i przestać używać spacji. Twój Mac używa tylko miejsca na dysku, gdy jest to konieczne, więc nic nie tracisz.
Jeśli pliki pamięci wirtualnej są zawsze bardzo duże, jest to znak, że potrzebujesz więcej pamięci RAM w komputerze Mac, a nie, że musisz wyłączyć funkcję pamięci wirtualnej. (Możesz sprawdzić, ile pamięci fizycznej posiada twój Mac, klikając menu Apple> O tym Macintoshu i czytając, co mówi obok "Pamięć".)
Drugim problemem jest zużycie wewnętrznego dysku SSD komputera Mac. Wiele osób obawia się, że nadmierny zapis na dysku SSD może skrócić jego żywotność i spowodować problemy. Jest to prawdą teoretycznie, ale w praktyce obawa ta jest generalnie przesadzona i pozostała z czasów, gdy dyski SSD miały znacznie mniejszą trwałość. Nowoczesne dyski SSD powinny działać długo, nawet przy włączonych takich funkcjach. macOS szybko nie zużywa twojego SSD tylko dlatego, że masz włączoną domyślną funkcję systemu - w rzeczywistości coś innego na Twoim Macu prawdopodobnie umrze przed twoim SSD.
Innymi słowy, nie martw się o to. Pozostaw pamięć wirtualną i pozwól komputerowi Mac pracować tak, jak zostało zaprojektowane.