Многие процессы cron -f на не отвечающем сервере

594
azenz

Мой сервер Debian снова перестал отвечать на запросы и нуждался в перезапуске (невозможен вход по SSH, больше не передавались данные журнала в базу данных MySQL другого сервера, новые подключения FTP невозможны, но Wowza Mediaserver продолжает работать и потоковое видео без проблем).

Тем не менее, я все еще вошел в систему через существующее соединение SSH и смог вводить команды оболочки. При вводе "ps auxf" у меня был такой вывод (OUTPUT 1):

 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 14994 0.0 0.0 71200 3520 ? S 00:01 0:00 \_/usr/sbin/CRON -f root 15007 0.0 0.0 4328 748 ? Ss 00:01 0:00 | \_ /bin/sh -c /usr/sbin/iotop --accumulated --batch --delay=86100 --proc root 15014 0.0 0.0 60208 17548 ? S 00:01 0:00 | \_ /usr/bin/python /usr/sbin/iotop --accumulated --batch --delay=861 root 18667 0.0 0.0 71092 3504 ? D 08:50 0:00 \_ /usr/sbin/CRON -f root 18668 0.0 0.0 71092 3472 ? D 08:50 0:00 \_ /usr/sbin/CRON -f root 18669 0.0 0.0 71092 3472 ? D 08:50 0:00 \_ /usr/sbin/CRON -f root 18670 0.0 0.0 71092 3428 ? D 08:50 0:00 \_ /usr/sbin/CRON -f root 18671 0.0 0.0 71200 3520 ? D 08:50 0:00 \_ /usr/sbin/CRON -f 

И десятки больше похожи на последние несколько строк. Кроме того, при вводе ps через 15 минут все старые записи CRON -f (например, PID 18667, время начала 08:50) по-прежнему отображаются как запущенные процессы.

Очевидно, что выполнялось много cronjobs, но только первый cronjob (который существует в моем crontab) имеет содержимое сценария (/ usr / sbin / iotop). Другие не имеют команды и находятся в неактивном режиме (состояние «D» по сравнению с первым, имеющим состояние «S»).

Мой сервер выполняет около 5-6 PHP-скриптов cronjobs раз в минуту, большинство из которых выполняются в течение 15-40 секунд и не требуют больших ресурсов. Их вывод ps aux выглядит следующим образом (ВЫХОД 2):

 root 19024 0.0 0.0 42224 2644 ? S 09:03 0:00 \_ /usr/sbin/CRON -f root 19026 0.0 0.0 4328 712 ? Ss 09:03 0:00 | \_ /bin/sh -c /usr/bin/php -q /usr/local/script.php 

Поэтому я предварительно делаю вывод, что первый вывод (ВЫХОД 1) не показывает, что мои PHP-скрипты перестали отвечать, накапливались в большом количестве и вызывали проблемы. Тем не менее, вывод «ps auxf» в OUTPUT 1 показал около 5-6 новых записей CRON -f в минуту, все из которых продолжали выполняться, что может относиться к попыткам cronjob запустить мои сценарии, но не в состоянии запустить их и затем застрять, производя этот огромный вывод ps auxf?

Вопросы:

  1. В чем смысл этих десятков строк CRON -f? На что они ссылаются?

  2. Может ли этот вывод ps auxf объяснить что-то, почему мой сервер перестал отвечать на запросы?

1

0 ответов на вопрос

Похожие вопросы