extrair de syslog
:
CRON[pid]: (user) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -
execdir fuser -s {} 2>/dev/null \; -delete)
Minha CPU está travada em 99% há algumas horas, e estou assumindo que é por causa disso. Alguém saberia o que é isso, como tudo começou e como pará-lo?
EDIT: Eu tentei top -n1
e vejo isso em retorno várias vezes:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID user 20 0 0 0 0 Z 99.9 0.0 0:00.00 fuser <defunct>
esta linha se repete cerca de 8 vezes.
EDIT2:
uname-a:
user SMP Tue Feb 14 13:27:41 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux`
lsb_release -a:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 11.10
Release: 11.10
Codename: code
EDIT 3:
Após a reinicialização, o sistema voltou ao mesmo 99% cpu usage
e ao mesmo top -n1
resultado.
uname -a
elsb_release -a
?fuser
comando provavelmente é de curta duração. Ele gasta seu tempo usando o tempo da CPU (hora do sistema, não do usuário), gerando / proc dados que (trivialmente) consome. Cada instânciafuser
provavelmente termina muito rapidamente. Mas provavelmente está sendo executado muitas vezes, já que, suponho, existem muitos arquivos de sessão. A cifra de 99,9% provavelmente significa apenas que a instância defuser
CPU usada intensivamente antes de morrer.find
provavelmente não é muito agressivo com a colheita de crianças; provavelmente chamaráwaitpid
novamente somente quando sair de um diretório ou executarfuser
novamente.user SMP Tue Feb 14 13:27:41 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
lsb_release -a: Nenhum módulo LSB está disponível. ID do Distribuidor: Ubuntu Descrição: Ubuntu 11.10 Release: 11.10 Nome de código: code-execdir ... \;
a espera deve ser imediata, pois o código de retorno é necessário como resultado do predicado (eu estava misturando isso com o-execdir ...+
que sempre retorna verdadeiro, eu acho).Respostas:
Este é um trabalho cron que limpa os arquivos antigos da sessão em / var / lib / php5 /. Se o bloqueio persistir em 99%, talvez você deva verificar a pasta de destino (/ var / lib / php5 /) para ver uma quantidade excessiva de arquivos ou talvez até corrupção do sistema de arquivos.
O processo é iniciado a partir do crontab. Veja as listagens do crontab (descritas aqui ). Você pode matar o processo e removê-lo do crontab, mas é mais provável que você tenha um problema subjacente, como uma quantidade excessiva de arquivos que precisa ser corrigida.
fonte
Encontre a resposta aqui: http://www.flynsarmy.com/2011/11/fuser-using-100-cpu-in-ubuntu-11-10/
no
/etc/cron.d/php5 on Ubuntu 11.10:
Substituir
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete
Com
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete
fonte