Если я изменю значения ulimit на рабочем сервере, это нарушит существующие процессы, уже запущенные на сервере? - PullRequest
0 голосов
/ 03 июля 2019

У нас есть требование изменить значения ulimit на производственном сервере, поскольку текущие настроенные значения не соответствуют требованиям. Однако на сервере уже запущено много процессов Java, и мы не хотим нарушать их работу.

Можем ли мы изменить значения ulimit на рабочем сервере на лету?

Это для Red Hat Enterprise Linux Server, версия 6.6 (Сантьяго)

1 Ответ

1 голос
/ 03 июля 2019

Процессы наследуют ограничения ресурсов от своих родительских процессов. Встроенная оболочка ulimit изменяет собственные пределы ресурсов оболочки и, таким образом, ограничивает ее будущих потомков . Изменение значений в limits.conf изменит ограничения ресурсов будущей оболочки входа в систему и, следовательно, тех их дочерних элементов . Оба не изменят пределы уже запущенных процессов.

Конечно, уже запущенные процессы могут чувствовать, что другие процессы становятся более ресурсоемкими. Это может привести к тому, что им не хватит памяти, например.

Чтобы получить или установить ограничения ресурсов для уже запущенных процессов, более новые Linux имеют prlimit команда. Например, чтобы изменить ограничение nproc при запущенном процессе:

prlimit --pid $MY_SERVER_PID --nproc=unlimited
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...