Dlaczego mój MacBook Pro już korzysta z pamięci wymiany?


21

Mam pod koniec 2013 MacBook Pro 13 "z 8 GB pamięci. Ostatnio mój MacBook Pro używa pamięci wymiany, gdy ma wystarczającą ilość wolnej pamięci. Czy to normalne i czy mogę coś z tym zrobić? Również, gdy mam tylko safari i powiedzmy Xcode otwarty, zużywa 99% pamięci RAM. Czy to normalne zachowanie?

wprowadź opis zdjęcia tutaj


@ Mark Mam zamiar zachować to otwarte - drugie pytanie nie koncentruje się na zamianie jako objawie. Myślę, że jest to nieco inaczej, aby uzasadnić dodatkowe odpowiedzi, które mogą nie pasować do powiązanego pytania.
bmike

Odpowiedzi:


18

To jest normalne zachowanie. Na powyższym zrzucie ekranu nie występują problemy z pamięcią. Podejrzewam, że dzieje się tak, ponieważ OS X tworzy pewnego rodzaju symbole zastępcze, aby włączyć pamięć wymiany, zamiast faktycznego korzystania z pamięci wymiany. Nigdy nie widziałem zera w sekcji pamięci wymiany, chyba że właśnie zrestartowałem i otworzyłem okno Monitor aktywności na świeżo, a nawet wtedy rzadko widzę zero.

W przypadku Mavericks i Yosemite sposób, w jaki system operacyjny używa pamięci, zmienił się nieco. Zasadniczo system operacyjny zabiera całą pamięć, a następnie zarządza nią w razie potrzeby. Tak więc nasz tradycyjny sposób patrzenia na raport pamięci w Monitorze aktywności nie jest tak naprawdę ważny. Z tego powodu Mavericks dodał wskaźnik „Memory Memory”, aby dać ci wyobrażenie, kiedy masz ograniczenia spowodowane pamięcią. Na twoim zrzucie ekranu masz zieloną presję pamięci. Aby uzyskać więcej, zobacz tę odpowiedź .

Ars Technica ma ładny opis tej „kompresji pamięci” w swojej recenzji Mavericks:

http://arstechnica.com/apple/2013/10/os-x-10-9/17/


Dobrze powiedziane. 256 KB wymiany jest błędem zaokrąglenia i może nawet być symbolem zastępczym, aby upewnić się, że plik wymiany istnieje i jest otwarty. Jeśli w systemie zabraknie uchwytów plików lub zasobów, późniejszy utworzenie i otwarcie tego pliku może pozwolić na większą stabilność i odzyskiwanie z przypadków skrajnych.
bmike

2

Zgodnie z tym, co rozumiem z twojego zrzutu ekranu (nie znam twojego języka), używasz tylko 256 KB przestrzeni wymiany, co jest niczym. Nie będę się martwił, dopóki presja pamięci nie wzrośnie


W tej chwili rzeczywiście ma 256 KB, ale czasami używa 120 MB lub więcej, jeśli jest trochę wolnej pamięci.
Bas

Powiedziałbym, że to normalne, mój komputer Mac działa już prawie 6 dni i mam do dyspozycji około 200 MB wymiany, z zainstalowaną 16 GB pamięci RAM i ciśnieniem pamięci 24% (zielony)
Brethil

@Bas Zadaj pytanie, kiedy zauważysz wzrost wymiany. Możesz uruchomić vm_stat 60lub nawet 300dla tego przedziału, a następnie zobaczyć, jak wygląda stronicowanie i przesłać drugą przystawkę monitora aktywności pokazującą przypadek stronicowania.
bmike

1

Konieczne będzie monitorowanie użycia pamięci i wymiany, ponieważ plik wymiany został utworzony, aby mieć szansę zrozumieć, dlaczego została utworzona wymiana. Na podstawie tego, co opisujesz w tekście i na zrzucie ekranu, nie widzę nic, co jest niepokojące.

Co do tego, dlaczego swap został utworzony, gdy założono , że masz wolną pamięć RAM. System operacyjny może przejść do wymiany w oparciu o miary predykcyjne. Może na przykład uruchomiłeś Photoshopa, który automatycznie otworzył kilka dużych plików obrazów z poprzedniej sesji. System operacyjny mógł zobaczyć, że nagle pojawiło się ogromne zapotrzebowanie na pamięć RAM, i przesunął część nieużywanej pamięci RAM, aby zamienić się z oczekiwaną potrzebą.

Lub twój program do tworzenia kopii zapasowych krótko działał w tle, wykonał ogromną liczbę sum kontrolnych plików i porównań oraz stworzył duże struktury danych oparte na pamięci RAM, popychając inne treści do zamiany. Następnie program do tworzenia kopii zapasowych zwolnił pamięć RAM i wrócił do snu.

Mac OS X (i najnowszy system operacyjny: Windows, Linux itp.) Są bardzo inteligentni, jeśli chodzi o automatyczne stosowanie pamięci podręcznej, zamiany, kompresji pamięci i innych technik, aby system działał tak szybko, jak to możliwe. Naprawdę nie martwiłbym się tym, chyba że zobaczysz, że Monitor aktywności zgłasza, że ​​ciśnienie pamięci znajduje się w strefie żółtej lub czerwonej.

Mam obecnie 13-calowego MacBooka Pro 2010, który ma 16 GB pamięci RAM. Wykonuję dużo pracy, która wymaga dużych ilości pamięci RAM. (Tworzenie stron internetowych, eksploracja danych, uruchamianie wielu aplikacji o dużej wytrzymałości w tym samym czasie.) Nawet z 16 GB pamięci czasami uderzył w żółtą strefę z powodu presji pamięci. Ale muszę powiedzieć, że rzadko jest to problemem, ponieważ Mac OS X bardzo dobrze alokuje zasoby w razie potrzeby.

Podczas gdy potrzebuję 16 GB pamięci RAM do mojej pracy, powinieneś wiedzieć, że taka aktualizacja nie jest pozbawiona negatywów. Dodatkowa pamięć RAM znacznie skraca żywotność baterii zarówno podczas aktywnego użytkowania, jak i podczas snu.


0

Twój komputer Mac działa w systemie Unix (certyfikat Single Unix Specification 2003), a ten system operacyjny istnieje od ponad 40 lat. Podstawowe elementy (takie jak zarządzanie pamięcią) są pisane, aktualizowane, debugowane i dopracowywane przez ludzi, którzy są ostatecznymi ekspertami w tej dziedzinie. Apple, mając więcej gotówki pod ręką niż Skarb USA, może sobie pozwolić na zatrudnienie absolutnie najlepszych.

Więc jeśli nie masz co najmniej doktoratu z teoretycznej informatyki i nie napisałeś swojej pracy magisterskiej na temat procesów na poziomie jądra i zarządzania pamięcią, przestań się martwić o zarządzanie pamięcią. Mam 24 GB na pulpicie i nadal używa wymiany. W ogóle mnie to nie dotyczy.


3
Masz rację, ale to nie odpowiada na moje pytanie. Nie mówię, że ludzie, którzy stworzyli system operacyjny, nie wiedzą, co robią. Moje pytanie brzmiało, czy to normalne zachowanie i jestem zainteresowany tym, dlaczego to robi. Ponieważ nie ma dla mnie sensu używanie SWAP, jeśli nadal jest dostępna pamięć…
Bas

Chodzi mi o to, że wszystko, co dzieje się pod maską, jest normalne. O ile twój dysk nie jest pełny z powodu absolutnie oszałamiającej ilości wymiany, powinieneś rozważyć powód, ponieważ menedżer pamięci zdecydował, że jest to konieczne.
Paul

1
To prawie całkowicie nieprawda. macOS nie ma w nim oryginalnego kodu uniksowego, używał części * BSD i Macha i może mieć certyfikat POSIX. Jednak zarządzanie stroną VM jest prawie całkowicie kodem Apple i dodało wiele niestabilności w ostatnich wydaniach, modyfikując go, dodając vm_compression. Również informatyka teoretyczna nie zajmuje się tymi bardzo praktycznymi zagadnieniami. Ostatnio są do bani rozwoju systemu operacyjnego.
sleeplessnerd

Śmieszna odpowiedź. Jestem pewien, że mają ekspertów budujących cały produkt, ale zdarzają się błędy i bardzo źle się mylą.
chrismacp
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.