|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Vadim Goncharov 2:5020/400 22 Jun 2006 22:23:27 To : All Subject : узнать кто вызвал maxproc limit exceeded -------------------------------------------------------------------------------- Есть машина с FreeBSD 5.5-STABLE #0: Thu Jun 15 05:06:30 NOVST 2006 i386. Hа ней крутится апач, самба, фтп, etc. Сегодня примерно в 12 часов дня было обнаружено, что машина перестала отвечать на запросы - пинги идут, но при любой попытке коннекта на открытый порт соединение сразу же закрывается удаленной стороной. Hа некоторые из открытых портов nmap вообще сказал filtered (про апача например). К сожалению, физически добраться до машины удалось только через 8 часов. Hа консоли была обнаружена пачка сообщений от самбы - повторяющиеся две строки: Jun 22 20:04:12 hostel nmbd[656]: [2006/06/22 20:04:12, 0] lib/util.c:process_exists(1412) Jun 22 20:04:12 hostel nmbd[656]: PANIC: assert failed at lib/util.c(1412) И строчка: Jun 22 20:04:12 hostel kernel: maxproc limit exceeded by uid 0, please see tuning(7) and login.conf(5). Послал машину в панику, но корка не сохранилась - в /var не хватило места. Обнаружил там, что all.log занимает аж 1 Гбайт! В процессе анализа логов выяснилось, что он почти целиком состоит из этих строчек от самбы, но, в то же время, машина в это время работала, и даже тот же процесс nmbd (такой же pid) иногда обслуживал запросы. Чем дальше, тем страннее - обнаружились maxproc limit exceeded не только для uid 0, но и для uid 80 и 25, причем начались они много ранее момента, когда самба начала энергично жаловаться в лог. Так, первый для 80 был за три часа (результат grep maxproc all.log): Jun 22 09:30:09 hostel kernel: maxproc limit exceeded by uid 80, please see tuning(7) and login.conf(5). Затем, после Jun 22 11:54:26 hostel kernel: maxproc limit exceeded by uid 80, please see tuning(7) and login.conf(5). Jun 22 11:59:00 hostel kernel: maxproc limit exceeded by uid 25, please see tuning(7) and login.conf(5). Jun 22 12:00:00 hostel kernel: maxproc limit exceeded by uid 0, please see tuning(7) and login.conf(5). оно начало повторяться для uid 0, изредка перемежаясь для uid 25. Кроме того, и сендмейл, и другие демоны периодически сообщали, что не могут форкнуться. В maillog было найдено другое странное: Jun 22 06:44:44 hostel sm-mta[83215]: k5LNdhtd083214: timeout waiting for input from local during client greeting Так периодически продолжалось до 10:23, вплоть до 12 часов: Jun 22 11:59:13 hostel sm-msp-queue[496]: runqueue: Skipping queue run -- fork() failed: Resource temporarily unavailable Jun 22 12:23:23 hostel sm-mta[492]: NOQUEUE: SYSERR(root): daemon: cannot fork: Resource temporari ly unavailable В общем, я так и не могу понять, кто же начал неконтролируемо форкаться (лимиты в login.conf есть), и что послужило причиной. Как можно это узнать и отследить в дальнейшем? -- WBR, Vadim Goncharov. ICQ#166852181 mailto:vadim_nuclight@mail.ru [Moderator of RU.ANTI-ECOLOGY][FreeBSD][http://antigreen.org][LJ:/nuclight] --- slrn/0.9.8.1 on FreeBSD 4.11/i386 * Origin: Nuclear Lightning @ Tomsk, TPU AVTF Hostel (2:5020/400@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/10359d592a5d1.html, оценка из 5, голосов 10
|