Ответ 1
Неисправный процесс - это процесс, который вышел, но чей родитель еще не ждал, чтобы он прочитал его статус выхода, оставив запись в таблице процессов. Также известен как зомби-процесс. Дополнительную информацию см. В статье Wikipedia .
32537 apache 16 0 87424 15m 7324 S 2.3 0.3 0:00.52 httpd
3302 mysql 15 0 156m 41m 4756 S 1.3 0.7 10:50.91 mysqld
489 apache 16 0 87016 14m 6692 S 0.7 0.2 0:00.27 httpd
990 apache 15 0 0 0 0 Z 0.7 0.0 0:00.12 httpd <defunct>
665 apache 15 0 86992 13m 5644 S 0.3 0.2 0:00.20 httpd
32218 apache 15 0 87356 14m 6344 S 0.3 0.2 0:00.53 httpd
1 root 15 0 2160 640 556 S 0.0 0.0 0:01.18 init
Из top
появляется случайный httpd <defunct>
. Что оно делает?
Я обнаружил, что веб-сервер иногда не отвечает на FPDF
(распечатайте PDF по запросу пользователя). Связано ли это?
UPDATE, с информацией о загрузке:
top - 11:55:59 up 17:30, 6 users, load average: 0.53, 0.47, 0.80
Tasks: 322 total, 1 running, 320 sleeping, 0 stopped, 1 zombie
Cpu(s): 0.7%us, 0.2%sy, 0.0%ni, 95.1%id, 3.9%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 6219412k total, 5944068k used, 275344k free, 21024k buffers
Swap: 5140792k total, 96k used, 5140696k free, 5270708k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1951 apache 16 0 0 0 0 Z 0.9 0.0 0:00.33 httpd <defunct>
2267 apache 15 0 86992 13m 5876 S 0.9 0.2 0:00.22 httpd
3302 mysql 15 0 156m 41m 4756 S 0.9 0.7 11:43.72 mysqld
2220 apache 15 0 87204 14m 6496 S 0.6 0.2 0:00.28 httpd
2340 apache 15 0 87828 13m 5588 S 0.6 0.2 0:00.22 httpd
2341 apache 17 0 88236 14m 5564 S 0.6 0.2 0:00.15 httpd
842 apache 16 0 87432 15m 7180 S 0.3 0.2 0:00.81 httpd
2225 apache 18 0 88236 14m 5560 S 0.3 0.2 0:00.17 httpd
2401 apache 15 0 86916 12m 5344 S 0.3 0.2 0:00.11 httpd
1 root 24 0 2160 640 556 S 0.0 0.0 0:01.18 init
Неисправный процесс - это процесс, который вышел, но чей родитель еще не ждал, чтобы он прочитал его статус выхода, оставив запись в таблице процессов. Также известен как зомби-процесс. Дополнительную информацию см. В статье Wikipedia .
Когда процесс умирает в Unix, он отправляет код выхода своему родительскому элементу. Неисправный процесс или "зомби" - это тот, чей родитель еще не посмотрел код выхода из зомби. Когда родитель получает код выхода (используя системный вызов wait
), зомби исчезнет.
Обычно не выполняющийся процесс - это тот, который завершен, но ОС сохраняет его до тех пор, пока родительский waits
пока он не "соберет" свой статус. Обычно вы видите многое из этого, когда вы написали свой собственный "разветвленный" код и у вас есть ошибки.
Если вы используете
ps -Hwfe
Вы увидите иерархию процессов и то, что является родителем. Странно, что это процесс httpd
, он обычно довольно хорошо собирает своих детей. Если ваша система не ровная, поэтому вы используете top
в первую очередь...