RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Борьба с Apache продолжается!


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Igor Vaskov, http://www.granit.msk.ru
To : Igor Vaskov
Subj : Борьба с Apache продолжается!

> Очень интересная ситуация вскрылась.
>
> Исходные данные: Ядро 104а, Apache/1.3.31 (OS/2) PHP/4.3.8 mod_ssl/2.8.18 OpenSSL/0.9.7d
>
> В логе Апача периодически образуются такие строки:
>
> DosLoadModule: 0x000000be [Wed Oct 26 03:55:14 2005] [error] (3)No such process: fork: Unable to fork new process
> DosLoadModule: 0x000000be [Wed Oct 26 03:55:26 2005] [error] (3)No such process: fork: Unable to fork new process
>
> Перезагрузка Апача спасает не надолго. Появилось предположение, что в системе "кончаются" ProcessID. Дело в том, что PID с которым работает Апач непрерывно увеличивается. Апач ведет себя не стабильно и поэтому он переодически автоматом выгружается и загружается заново. И при этом занимает все более высокие PID. Отработанные PID в систему не возвращаются и не используются.
>
> Вопросы к знатокам:
> 1. Почему "отработанные" ProcessID при закрытии программы не возвращаются в систему? PID постоянно увеличивается и, вполне возможно, переполняется (но все осевые проги продолжают работать нормально - то ли уже нахватали PID и им не нужно то-ли у них переполнения не возникает).
> 2. Если это не глюк, то как с ним бороться?
> 3. Если это все-таки глюк, то чей? Ядра, Апача, еще чей-то?

Выяснилось, что глюк это не Апача, а Оси, возможно ядра.
Два простых батника позволяют его увидеть и повторить.

0.cmd
exit

1Test.cmd
/* */
Do forever
Do 20
'start 0.cmd'
End
call SysSleep(1)
End

Запустить 1Test.cmd и подождать немного.
Запустить top.exe и посмотреть как увеличиваются PID процессов.

И что с этим делать?


Sun 30 Oct 2005 13:41 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.7.5) Gecko/20050




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.