Привет спецам, гуру и начинающим!
Какая то странная вещь получилась с серваком. Стоял дистрибутив Debian
на ядре 2.6.6, работал никого не трогал и особо затруднений с его
работой не наблюдалось. Было установлено чтобы он каждые сутки в 0
часов перегружался (так требуют наши сервисы, да и серверу легче
дышать становится). Но буквально с неделю назад сервер упал намертво,
что пришлось ехать на точку колокации и ребутить его в ручную. После
долгого сканирования и выявления ошибки, оказалось, что сервер
работает без SWAP'а, то есть на чистой оперативке (1Gb). Не то чтобы
ему не был выделен swap,  он его совершенно использовать не хочет.
Подумав, что это глюк ядра, пересобрали и воткнули ему 2.6.14.2.
Результат остался тем же. Хоть он при загрузке и говорит
Adding 2097136k swap on /dev/hdd1.  Priority:0 extents:1 across:2097136k
при просмотре free
            total       used       free     shared    buffers     cached
Mem:  904856   742348    62508          0       6272     456128
Swap: 2097136          0    2097136
То есть он совершенно не хочет оращаться к swap. Какие только
извращения уже не придумывали, чтобы он туда хотя бы байтик заслал -
всё тщетно. Он нагло пожирая всю память снова застреливался,
раскидывая по всем кончолям дебаг инфу, что память у него кирдык :). И
после 20 часов мучений, чтобы сервак больше не застреливался и не
приходилось снова мотаться на точку, прописали ему маленький шелл,
чтобы при свободной памяти от 1 до 10 мегабайт он перегружался
самостоятельно. В итоге, у сервера среднестатическое время жизни стало
от 7 до 11 часов (вместо суток), после чего, когда вся физическая
оперативка в очередной раз сожрана, он уходит на перезагрузку.
Кто скажет и поделится умным советом, из-за чего такая фигня
происходит, и самое главное - как лечить?
Спасибо всем отозвавшимся!

Ответить