Mam dwa serwery CentOS 5 o prawie identycznych specyfikacjach. Kiedy się loguję i robię ulimit -u
, na jednej maszynie dostaję unlimited
, a na drugiej dostaję 77824
.
Kiedy uruchamiam crona, takie jak:
* * * * * ulimit -u > ulimit.txt
Otrzymuję te same wyniki ( unlimited
, 77824
).
Próbuję ustalić, gdzie są one ustawione, abym mógł je zmienić. Nie są one ustawione w żadnym z moich profili ( .bashrc
, /etc/profile
, itd.). Nie wpłyną one i tak na crona) ani na /etc/security/limits.conf
(który jest pusty).
Szukałem google, a nawet posunąłem się tak daleko, jak na razie grep -Ir 77824 /
, ale jak dotąd nic się nie pojawiło. Nie rozumiem, w jaki sposób te maszyny mogły być ustawione z różnymi limitami.
Zastanawiam się nie dla tych maszyn, ale dla innej (CentOS 6) maszyny, która ma limit 1024
, który jest zdecydowanie za mały. Muszę uruchamiać zadania cron z wyższym limitem i jedynym sposobem, w jaki wiem, jak to ustawić, jest samo zadanie cron. W porządku, ale wolałbym ustawić go szeroko, żeby nie był tak hackerski.
Dziękuję za wszelką pomoc. Wydaje się, że powinno to być łatwe (NIE).
EDYCJA - ROZWIĄZANE
Ok, rozgryzłem to. Wydaje się, że jest to problem z CentOS 6 lub konfiguracją mojej maszyny. W konfiguracji CentOS 5 mogę ustawić /etc/security/limits.conf
:
* - nproc unlimited
i to skutecznie zaktualizowałoby konta i limity cron. Jednak to nie działa w moim pudełku CentOS 6. Zamiast tego muszę zrobić:
myname1 - nproc unlimited
myname2 - nproc unlimited
...
I wszystko działa zgodnie z oczekiwaniami. Może specyfikacja UID działa, ale symbol wieloznaczny (*) zdecydowanie NIE JEST tutaj. Dziwne, że symbole wieloznaczne działają dla nofile
limitu.
Nadal chciałbym wiedzieć, skąd faktycznie pochodzą wartości domyślne, ponieważ domyślnie ten plik jest pusty i nie mogłem zrozumieć, dlaczego miałem różne wartości domyślne dla dwóch urządzeń CentOS, które miały identyczny sprzęt i pochodziły od tego samego dostawcy .
/etc/security/limits.d/
?