Busy WebServer Busy bombardeio e parece não obedecer ulimit definido para isso

1

Estou vendo as seguintes entradas no log de erros do Apache

[Mon Jul 04 13:39:27 2011] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[Mon Jul 04 13:39:27 2011] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[Mon Jul 04 13:39:27 2011] [alert] Child 13286 returned a Fatal error... Apache is exiting!
[Mon Jul 04 13:39:27 2011] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[Mon Jul 04 13:39:27 2011] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48

cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     1024
apache          soft    nproc           8800
apache          hard    nproc           65000


#Apache conf info 

<IfModule prefork.c>
StartServers       80
MinSpareServers    100
MaxSpareServers   101
ServerLimit     2100
MaxClients      2100
MaxRequestsPerChild  3000
</IfModule>
    
por ckliborn 04.07.2011 / 20:58

2 respostas

1

O Apache é executado como root e, em seguida, é enviado para o usuário do apache. A configuração nproc para o usuário do apache não funcionará, tente aumentar a configuração nproc para todos os usuários:

*   soft   nproc   8000

Faça isso no arquivo 90-nproc.conf ou comente-o e faça-o no arquivo /etc/security/limits.conf.

    

por 19.08.2011 / 04:29
0

Os limites definidos em /etc/security/limits.d ou limits.conf não serão aplicados a programas que chamam setuid , a menos que seja especificado nos módulos PAM.

Você pode ativar esse comportamento adicionando a linha:

session required pam_limits.so

para estes arquivos:

  • /etc/pam.d/common-session
  • /etc/pam.d/common-session-noninteractive
por 08.09.2013 / 02:52