Eu tenho dois servidores CentOS 5 com especificações quase idênticas. Quando eu faço o login e o faço ulimit -u
, em uma máquina recebo unlimited
e na outra recebo 77824
.
Quando executo um cron como:
* * * * * ulimit -u > ulimit.txt
Eu obtenho os mesmos resultados ( unlimited
, 77824
).
Estou tentando determinar onde eles estão definidos para que eu possa alterá-los. Eles não estão definidas em nenhum dos meus perfis ( .bashrc
, /etc/profile
, etc.). Isso não afetaria o cron de qualquer maneira) nem em /etc/security/limits.conf
(que está vazio).
Eu vasculhei o Google e até cheguei a ponto de fazê-lo grep -Ir 77824 /
, mas nada apareceu até agora. Não entendo como essas máquinas podem ter sido predefinidas com limites diferentes.
Na verdade, estou me perguntando não para essas máquinas, mas para uma máquina diferente (CentOS 6) que tem um limite de 1024
, que é muito pequeno. Preciso executar tarefas cron com um limite mais alto e a única maneira de saber como definir isso é na própria tarefa cron. Tudo bem, mas eu prefiro configurá-lo em todo o sistema para que não seja tão hacky.
Obrigado por qualquer ajuda. Parece que deve ser fácil (NÃO).
EDIT - RESOLVIDO
Ok, eu descobri isso. Parece ser um problema no CentOS 6 ou talvez na configuração da minha máquina. Na configuração do CentOS 5, posso definir /etc/security/limits.conf
:
* - nproc unlimited
e isso atualizaria efetivamente as contas e os limites do cron. No entanto, isso não funciona na minha caixa do CentOS 6. Em vez disso, devo fazer:
myname1 - nproc unlimited
myname2 - nproc unlimited
...
E as coisas funcionam como esperado. Talvez a especificação UID funcione, mas o curinga (*) definitivamente NÃO ESTÁ aqui. Estranhamente, os curingas funcionam para o nofile
limite.
Eu ainda adoraria saber de onde os valores padrão realmente vêm, porque, por padrão, esse arquivo está vazio e não pude ver por que eu tinha padrões diferentes para as duas caixas do CentOS, que tinham hardware idêntico e eram do mesmo provedor .
/etc/security/limits.d/
?