Можем ли мы установить 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
,