Можем ли мы установить ulimit в файле /etc/sysconfig/init, чтобы применить значение во время загрузки

Мне нужно установить значение ulimit во время загрузки для всех моих сервисов. У меня есть значения, установленные в /etc/sy sconfig/limits.conf, но эти значения не применяются во время загрузки, и по умолчанию требуется 1024.

Я установил значения в limit.conf, также проверил, содержит ли /etc/pam.d/* записи "required pam_limits.so" и даже /etc/security/limits.d/90-nproc.conf не имеет значения по умолчанию записей.

Теперь я нашел другой способ включить значение во время загрузки, я наткнулся на файл /etc/sysconfig/init. Когда я установил значение в этом файле, все службы получили ожидаемое значение во время загрузки.

Теперь я не уверен насчет влияния на сервер и того, что следует игнорировать при настройке в этом файле /etc/sysconfig/init. Также есть ли альтернатива, кроме этого файла или методов, упомянутых выше.

3 ответа

Ограничения не являются специфичными для служб или системы, они специфичны для отдельных учетных записей. Мягкий предел в /etc/security/limits.conf должно быть то, что отображается по умолчанию при запуске службы; Похоже, в вашем случае этого не происходит, поэтому я бы начал искать точечные файлы для пользователей, которые запускают указанные службы, или фактический сценарий инициализации рассматриваемых служб., Я чувствую, что ваш ulimit установлен в одном из этих двух мест, и таким образом перекрывает /etc/security/limits.conf ценности.

Я использовал тот метод, который вы говорите, чтобы установить ulimit а также umask для файлов, созданных пользователем Apache. Смысл, я редактировал /etc/init.d/httpd и включил umask а также ulimit -s Конфигурация, которая решила мою проблему, так что я думаю, что это хорошее решение. Это не имело никакого влияния, кроме ожидаемого.

Файл /etc/security/limits.conf используется PAM, но PAM используется, когда пользователь входит в систему. Однако когда службы запускаются, он не проходит через PAM, поэтому limits.conf не помогает Службы запускаются системой init, и их настройки зависят от используемой системы. Если вы используете upstart, его можно установить в /etc/sysconfig/init в масштабе всей системы или в /etc/sysconfig/<servicename> за обслуживание. В системном мире ulimits можно установить в служебных файлах с помощью usint. Limit<type>=Я не уверен, как это сделать в масштабе всей системы. С OpenRC вы можете установить rc_ulimit= за услугу или по всей системе в /etc/rc.conf,

Другие вопросы по тегам