Powiedzmy, że mamy maszynę OS X z 4 GB pamięci RAM. Czy można to ustawić tak, aby żaden pojedynczy proces nie mógł zająć więcej niż powiedzmy 3 GB, więc bez względu na to, jak bardzo proces zapamiętuje proces, zawsze pozostaje trochę pamięci, aby system mógł reagować?
12
Odpowiedzi:
Podobnym pytaniem jest tutaj Jak mogę ograniczyć ilość pamięci RAM, z której może korzystać aplikacja Mac OS?
Zalecają użycie komendy ulimit , ale nie byli w stanie skutecznie ograniczyć kwoty do tego, co chcieli. Myślę, że problem, na który wpadli, polegał na tym, że ustawienie opcji -u lub -v nie uwzględniało systemu stronicowania pamięci, np. Możesz przydzielić tylko X miejsca na proces w prawdziwej pamięci RAM, ale możemy przewijać strony jesteś w wirtualnej pamięci przez cały dzień.
Pamiętaj, że może to być niebezpieczne wyłączenie pamięci wirtualnej, może to spowodować zablokowanie komputera Mac itp. Po uruchomieniu pamięci RAM.
Spróbuj uruchomić ulimit z argumentami -l, -m lub -v, jak jednak zaznaczono na stronie man ulimit, aż do systemu operacyjnego, jeśli zwróci uwagę na te ustawienia, czy nie, jak zaznaczono.
Naprawdę nie mogę znaleźć żadnego określonego źródła, które potwierdza, czy OS X ignoruje ulimit, czy nie, ale po niepowodzeniu, do którego odwołuje się ulimit
Jeśli możesz sprawić, by ulimit działał dla twoich potrzeb sam, spróbuj, jeśli nie kombinacja ulimit i / lub wyłączenie pamięci wirtualnej może pozwolić ci ustawić limit 3 GB dla wybranych procesów. Do Twojej dyspozycji jest dobry link, aby uzyskać więcej informacji na temat Całkowicie wyłącz pamięć wirtualną w systemie Snow Leopard 10.6
źródło
Jeśli korzystasz z serwera Lion (lub nowszego OSX) na komputerze Mac, możesz uruchomić system OSX na maszynie wirtualnej (VirtualBox, Parallels lub VMWare i in.) Na tym komputerze Mac. Ogranicz maszynę wirtualną do 3 GB fizycznej pamięci RAM, a każda aplikacja lub proces w maszynie wirtualnej również będzie ograniczony. System hostujący maszynę wirtualną powinien pozostać responsywny, nawet jeśli system operacyjny na maszynie wirtualnej jest ograniczony przez dysk zapasowy lub ulega awarii.
Jeśli debugujesz potencjalnie niekontrolowany proces, możesz być w stanie ssh na maszynie wirtualnej, aby uruchomić debugger lub debugowanie z linii poleceń i rejestrować rzeczy, aż sprawy się zablokują.
źródło