[sisyphus] fork: Resource temporarily unavailable
Peter V. Saveliev
=?iso-8859-1?q?peet_=CE=C1_eltel=2Enet?=
Вс Фев 16 08:26:21 MSK 2003
On Fri, 14 Feb 2003 18:44:59 +0300
"Dmitry V. Levin" <ldv на altlinux.org> wrote:
> On Fri, Feb 14, 2003 at 04:48:31PM +0400, Alexey M. Victorovich wrote:
> > On Fri, Feb 14, 2003 at 03:26:52AM +0300, Peter V. Saveliev wrote:
> > >> Проблема решилась - fork() удовлетворил через увеличение
> > >> PTHREAD_THREADS_MAX до 8192 в glibc, открытие файлов - через nofile
> > >
> > > Увеличение PTHREAD_THREADS_MAX это очень плохой стиль.
> >
> > А как это можно сделать иначе?
>
> Это зависит от задачи.
а) задача - oracle 8i. Он дает ~150 процессов (4 базы данных). Но, при
этом, от юзера oracle больше не запустить ничего в буквальном смысле
слова, и даже su - oracle "подвисает". Самое неприятное, что не
отрабатывает бэкап, идущий, как понятно, от того же oracle. Это приводит
к тому, что диск забивается не архивируемыми вовремя archivelogs (на это
надо около полутора суток для средней юзаемости базы), и база "встает" -
некуда вести журнал.
limits.conf правил. Но помогла только правка glibc. Как еще можно было
поступить? Я ведь и glibc-то правил только после молчания в рассылке.
б) задача - CommuniGate Pro. Ужасно кривая (имхо) софтина, но которую не
заменить пока ничем, так как это в первую очередь не MTA даже, а
вебморда. У нас он держит очень много доменов/пользователей, и иногда,
когда нагрузка возрастает, он выдает все ту же ошибку fork'a. Тут уже
верится легче, т.к. даже в покое CGP - это ~700 тредов. Стиль стилем, а
почта ходить должна.
Такие пироги с кошками.
--
Sincerely, Peter V. Saveliev
E-mail: peet на eltel.net
Jabber: peet на jabber.ru
Подробная информация о списке рассылки Sisyphus