У меня есть два сервера CentOS 5 с почти одинаковыми характеристиками. Когда я вхожу и делаю ulimit -u
, на одной машине я получаю unlimited
, а на другой я получаю 77824
.
Когда я запускаю cron вроде:
* * * * * ulimit -u > ulimit.txt
Я получаю те же результаты ( unlimited
, 77824
).
Я пытаюсь определить, где они установлены, чтобы я мог их изменить. Они не установлены ни в одном из моих профилей ( .bashrc
, /etc/profile
и т. Д.). Это никак не повлияет на cron) или in /etc/security/limits.conf
(который пуст).
Я покопался в гугле и даже зашел так далеко, что grep -Ir 77824 /
ничего не нашел. Я не понимаю, как эти машины могли предустановиться с разными ограничениями.
Я на самом деле задаюсь вопросом не об этих машинах, а о другой (CentOS 6) машине с ограничением 1024
, которое слишком мало. Мне нужно запускать задания cron с более высоким лимитом, и я знаю, как это сделать, в самом задании cron. Это нормально, но я бы предпочел установить систему в целом, чтобы она не была такой хакерской.
Спасибо за любую помощь. Кажется, это должно быть легко (НЕ).
РЕДАКТИРОВАТЬ - РЕШЕНО
Хорошо, я понял это. Кажется, это проблема с CentOS 6 или, возможно, с конфигурацией моей машины. В конфигурации CentOS 5 я могу установить /etc/security/limits.conf
:
* - nproc unlimited
и это будет эффективно обновлять счета и лимиты cron. Тем не менее, это не работает в моей коробке CentOS 6. Вместо этого я должен сделать:
myname1 - nproc unlimited
myname2 - nproc unlimited
...
И все работает как положено. Может быть, спецификация UID работает, но подстановочный знак (*) определенно НЕ здесь. Как ни странно, подстановочные знаки работают на nofile
пределе.
Я все еще хотел бы знать, откуда на самом деле берутся значения по умолчанию, потому что по умолчанию этот файл пуст, и я не мог понять, почему у меня были разные значения по умолчанию для двух ящиков CentOS, которые имели идентичное оборудование и были от одного и того же провайдера. ,
/etc/security/limits.d/
?