Дважды в течении нескольких дней сервер уходил в состояние анабиоза, пинги вроде шли, но по всем портам была тишина, первый раз когда завис не обратил внимание, второй раз когда умер поддержка написала, что по ctrl+alt+del сервер не ребутился, пришлось перегружать ресетом, и сказали, что на консоли было множество сообщений, о том, что кончился swap.
После второй загрузке начал смотреть в top и один из процессов показывал 500 метров, и не хотел по киллу отмирать (пользовательские процессы целиком пришлось убить), далее опытным путём была найдена папка из которой был запущен скрипт, переименовал её и забыл на время. Сегодня напомнили, что хорошо бы сайту вернуть рабочее состояние, нашёл в папке perl5.8.8.core, в котором массово шла ругань на Image::Magik, при том, что он вроде бы стоял, решил попробовать консольно проверить.
%perl -MImage::Magick -e '' Can't load '/usr/local/lib/perl5/site_perl/5.8.8/mach/auto/Image/Magick/Magick.so' for module Image::Magick: Shared object "libMagickCore.so.1" not found, required by "Magick.so" at /usr/local/lib/perl5/5.8.8/mach/DynaLoader.pm line 230. at -e line 0 Compilation failed in require. BEGIN failed--compilation aborted. Out of memory during request for 4084 bytes, total sbrk() is 536834048 bytes!
Далее началось опять разрастаться в памяти и успел кильнуть, до того момента, когда сервер начал переходить в стадию летаргического сна. Дальше было интересного больше.
%ldd /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/Image/Magick/Magick.so /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/Image/Magick/Magick.so: libMagickCore.so.1 => not found (0x0) libMagickWand.so.1 => not found (0x0) libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 (0x2819f000) libz.so.3 => /usr/local/lib/libz.so.3 (0x28207000)
Пересобрать имадж меджик, из портов не получилось, но минут за 7-10 вроде собралось из сырцов, надеюсь больше такого не будет.
Более всего поразило, что можно убить сервер просто из под пользователя. До конца не понял, почему оно начало увеличивать swap.