Talvez mod_perl / apache não esteja fechando os filehandles corretamente. Depois de algum tempo, quando a quantidade máxima de arquivos abertos for atingida (1024 soft / 4096 difícil, ver ulimit -Sn;ulimit -Hn
), o reinício do apache fecha todos os handles obsoletos.
Na próxima vez em que o erro ocorrer, você pode investigar essa teoria obtendo o pid do apache / perl.
# ps aux | grep apache
ou
# pidof apache
ou módulo perl se tiver um processo próprio ..
exemplo de saída:
28294
Listar arquivo aberto por um PID
# lsof -p 28294
# lsof -a -p 28294
# counting
# lsof -a -p 28294| wc -l
ou
# cd /proc/28294/fd
# ls -l | less
# count open files with
# ls -l | wc -l