Страница 1 из 1

top

Добавлено: 2009-04-25 5:21:09
ProFTP

Код: Выделить всё

top | grep '<php-cgi>'
почему данный скрипт не показывает подвисшие процессы wait ?

Код: Выделить всё

 2271 k               1   8    0 26044K     0K wait     0:00  0.00% <php-cgi>
 4485 g              1   8    0 26044K     0K wait     0:00  0.00% <php-cgi>
 2129 t             1   8    0 26044K     0K wait     0:00  0.00% <php-cgi>
 2400 g              1   8    0 26044K     0K wait     0:00  0.00% <php-cgi>
я хотел их прибить, их бывает много! что за аномалия, что их не видно после grep?

так може не видно:

Код: Выделить всё

open (KILL, "top |");

while (my $line = <KILL>) {

my ($pid, $user, $thr, $pri, $nice, $size, $res, $state, $time, $wcpu, $comm) = split (' ', $line);
#  PID USERNAME        THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND

if ($comm eq "<php-cgi>") {
print "$pid, $user, $thr, $pri, $nice, $size, $res, $state, $time, $wcpu, $comm \n";
}
# print  "killed: $id $host \n";
# system("kill -9 $id");
}

PS кстате заметил, что пхп тратит много процессорного времени, в FastCGi бывает что процесс выполняется некоторое время и проц 8 -15% показывет, после того как страница открылась этот процесс медленно возвращается в низ от %15 до 0 % где-то примерно 5 секунд... может быть тогда когда процесс уходит в низ, то его прибить чтобы он не тратил ресурсы (если страница уже открытая)

запускать скрипт каждую 1 секунду, смотерть сколько процентов было проц. в прошлую секунду, если больше в прошлую, а в эту меньше, то прибить его, статика все равно через fcgi не идет, проблем может не будет....

Re: top

Добавлено: 2009-04-25 6:49:34
x6e6564
man top

Код: Выделить всё

top | less
top 1000 | less
Также можно пофильтровать ключом -U username..

Re: top

Добавлено: 2009-04-25 7:18:51
ProFTP
мне нужно пхп....

оно не выводит wait процессы

Re: top

Добавлено: 2009-04-25 8:29:02
zg
ProFTP писал(а):то его прибить чтобы он не тратил ресурсы (если страница уже открытая)
эм... какбэ тогда отпадает главное преемущество FastCGI

Re: top

Добавлено: 2009-04-25 8:37:59
ProFTP
точно, не подумал... но все таки заметно если прибить все процессы, то память освобождается прилично

ну тогда не которуе нулевые wait как прибить?

Re: top

Добавлено: 2009-04-25 9:29:17
zg
они по идее сами должны дохнуть через три минуты

Re: top

Добавлено: 2009-04-25 21:30:14
Alex Keda
они и мрут сами.
=====
насчёт топа - вывод в терминал и то что вы выдите после трубы - разные вещщи.

Код: Выделить всё

top -b -n 500
попробуйте, для начала.
а вообще - лучше раскурить и парсить его вывод - быстрей будет

Re: top

Добавлено: 2009-04-26 16:20:58
ProFTP
zg писал(а):эм... какбэ тогда отпадает главное преемущество FastCGI
я попробовал mod_php там тоже заметно что процесс висит (нет так как FastCGI) , но а процессорное время медлено но уходин в низз секунд 2-5 может больше или меньше...

может попробовать прибивать как нибудь, так как я написал выше? (мне сейчас сильно производительность там не надо, работает - пускай работает)

для высокопроизводительных программ / сайтов / скриптов код пишут вместе с веб серверов

Re: top

Добавлено: 2009-04-26 16:31:21
Alex Keda
сдаётся мне, что вы недопонимаете, что показывает top

Re: top

Добавлено: 2009-04-27 5:11:34
ProFTP
что именно? что такое WCPU, процессор ?