извлечь из 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)
Мой процессор завис на 99% в течение нескольких часов, и я предполагаю, что это из-за этого. Кто-нибудь знает, что это такое, как это началось и как это остановить?
РЕДАКТИРОВАТЬ: Я пытался, top -n1
и я вижу это взамен несколько раз:
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>
эта строка повторяется около 8 раз.
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
РЕДАКТИРОВАТЬ 3:
После перезагрузки система вернулась к тому же 99% cpu usage
и тому же top -n1
результату.
uname -a
иlsb_release -a
?fuser
вероятно, очень недолгая. Он тратит свое время, тратя время ЦП (системное время, а не пользовательское), генерируя / proc данные, которые он (тривиально) потребляет. Каждый экземпляр,fuser
вероятно, заканчивается очень быстро. Но, вероятно, он запускается много раз, поскольку, я полагаю, там много файлов сессий. Число 99,9%, вероятно, просто означает, что этот экземплярfuser
интенсивно использовал процессор, прежде чем он умер.find
вероятно, не очень агрессивен в отношении пожирания детей; Скорее всего, он будет вызыватьсяwaitpid
снова только при выходе из каталога или приfuser
повторном запуске .user SMP Tue Feb 14 13:27:41 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
lsb_release -a: Модули LSB недоступны. Идентификатор распространителя: Ubuntu Описание: Ubuntu 11.10 Релиз: 11.10 Кодовое имя: код-execdir ... \;
ожидание должно быть немедленным, поскольку в качестве результата предиката необходим код возврата (я смешивал это с тем,-execdir ...+
что всегда возвращает true, я думаю).Ответы:
Это задание cron, которое очищает старые файлы сессий из / var / lib / php5 /. Если он завис на 99%, вам, возможно, следует проверить папку назначения (/ var / lib / php5 /) на предмет чрезмерного количества файлов или, возможно, даже повреждения файловой системы.
Процесс запускается из crontab. Смотрите списки crontab (описанные здесь ). Вы можете убить процесс и удалить его из crontab, но более вероятно, что у вас есть основная проблема, такая как чрезмерное количество файлов, которые необходимо исправить.
источник
Нашел ответ здесь: http://www.flynsarmy.com/2011/11/fuser-using-100-cpu-in-ubuntu-11-10/
в
/etc/cron.d/php5 on Ubuntu 11.10:
замещать
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
С
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
источник