Допустим, у нас есть машина OS X с 4 ГБ оперативной памяти. Можно ли настроить его так, чтобы ни один процесс не занимал больше, чем, скажем, 3 ГБ, поэтому, независимо от того, какова нагрузка на процесс, всегда остается некоторая память, чтобы система реагировала?
12
Ответы:
Подобный вопрос отмечен здесь. Как я могу ограничить объем оперативной памяти, которую может использовать приложение Mac OS?
Они рекомендуют использовать команду ulimit , но им не удалось успешно ограничить сумму до желаемого. Я думаю, что проблема, с которой они столкнулись, заключалась в том, что заданная опция -u или -v не учитывала систему подкачки памяти, например, вы можете выделить только X объем пространства для вашего процесса в реальном ОЗУ, но мы можем Вы в виртуальной памяти весь день.
Обратите внимание, что это может быть опасным отключением виртуальной памяти, это может привести к тому, что ваш Mac просто заблокируется и т. Д. При запуске ОЗУ.
Попробуйте запустить ulimit с аргументами -l, -m или -v, как указано в справочной странице ulimit, до ОС, если он обратит внимание на эти настройки или нет, как указано.
На самом деле не могу найти какой-либо определенный источник, который подтверждает, если OS X игнорирует ulimit или нет, но после сбоя ссылочной ulimit
Если вы можете заставить ulimit работать для ваших нужд, попробуйте, если не комбинация ulimit и / или отключение виртуальной памяти, возможно, вы сможете установить ограничение в 3 ГБ для отдельных процессов. К вашему сведению, это хорошая ссылка для получения дополнительной информации о полном отключении виртуальной памяти в системе Snow Leopard 10.6.
источник
Если вы используете Lion (или более новый OSX) сервер на вашем Mac, вы можете запустить OSX внутри виртуальной машины (VirtualBox, Parallels или VMWare и др.) На этом Mac. Ограничьте ВМ до 3 ГБ физической ОЗУ, и любое приложение или процесс внутри ВМ также будет ограничен. Система, в которой размещена виртуальная машина, должна отвечать на запросы, даже если операционная система в виртуальной машине имеет ограничения на резервное копирование-своп-диск или происходит сбой.
Если вы отлаживаете потенциально сбежавший процесс, вы можете войти в виртуальную машину ssh, чтобы запустить отладчик или отладочный кусочек из командной строки, и записывать данные до тех пор, пока все не заблокируется.
источник