Выделение памяти для процесса в Linux - PullRequest
0 голосов
/ 20 ноября 2010

Дорогие все, я использую Redhat Linux, Как установить максимальный объем памяти для конкретного процесса.Например, я должен выделить максимальное использование памяти для затмения в одиночку. Можно ли выделить вот так. Дайте мне несколько решений.

Ответы [ 2 ]

2 голосов
/ 20 ноября 2010
ulimit -v 102400
eclipse

... дает затмение 100 МБ памяти.

1 голос
/ 20 ноября 2010

Вы не можете контролировать использование памяти;вы можете контролировать только размер виртуальной памяти, а не объем используемой памяти, поскольку это чрезвычайно сложно (возможно, невозможно) узнать для одного процесса в операционной системе, которая поддерживает виртуальную память.появляется в виртуальном адресном пространстве процесса в данный момент, например, при использовании ядра и кэшировании диска.Процесс может изменять отображаемые страницы так часто, как ему нравится (например, с помощью mmap ()).Часть адресного пространства процесса также отображается, но фактически не используется, или используется совместно с одним или несколькими другими процессами.Это делает измерение использования памяти для каждого процесса довольно недостижимой практической целью.

И ограничение размера виртуальной машины также не является хорошей идеей, поскольку это приведет к остановке процесса, если он попытается использоватьmore.

Правильный способ сделать это в этом случае (для процесса Java) - установить максимальный размер кучи (с помощью различных хорошо задокументированных параметров запуска JVM).Однако опыт подсказывает, что вы не должны устанавливать его менее 1 ГБ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...