Myślałem, że rozumiem, jak MacOSX zarządza pamięcią, ale ostatnio zaskoczyło mnie jego działanie. Oto sytuacja:
- Mam zupełnie nowy system Core i7 z 8 GB pamięci fizycznej z systemem MacOSX 10.6.7. Istnieje kilka aplikacji, które regularnie zajmują część pamięci - Safari, Mail, Xcode, Terminal itp.
- Muszę równolegle uruchamiać trzy 64-bitowe procesy, z których każdy zużywa około 2000 mln pamięci rzeczywistej.
- Chociaż pamięć przewodowa pozostaje poniżej 1000 mln (tj. Mam ponad 7000 mln dostępnych dla procesów), widzę dużą aktywność stronicowania prowadzącą do bardzo złej wydajności z trzech procesów intensywnie korzystających z pamięci, które uruchomiłem.
- Najwyraźniej nie brakuje mi dostępnej pamięci RAM, ponieważ zgłoszona nieaktywna pamięć pozostaje na poziomie około 2500 mln, a pamięć aktywna nie wzrasta powyżej 5000 mln.
Czy ktoś może dać mi wskazówkę, dlaczego MacOSX nie zwalnia nieaktywnej pamięci dla procesów, które jej potrzebują, zamiast tego uciekając się do stronicowania? Czy istnieje też jakiś właściwy sposób, aby wpłynąć na zarządzanie pamięcią przez system?