LINUX.ORG.RU

OOM-Killer

 


0

1

Как можно сделать так, чтобы программка, которую «убил» oom killer не трогала процесс и процессу выделялось столько памяти, сколько нужно? На сервере 2гб оперативной памяти. Программка кушает больше. Залезло в подкачку, как я думаю. и oom killer грохнул процесс. Как сделать так, чтобы процесс продолжал работу даже при условии загрузки памяти и выделялось столько подкачки, сколько нужно?

скорее всего весь своп выжрало. ну либо процесс юзает memlock - можно попробовать заткнуть mlock* вызовы пустышками через LD_PRELOAD

NiTr0 ★★★★★
()
Ответ на: комментарий от anonymous

Можно как-нибудь попроще объяснить? Я только что на форуме зарегистрировался и вообще не силен во всех этих темах. У меня ситуация такая: У нас игровой сервер по игре. На виртуальной машине 2гб оперативки. Утром увидел что сервер игровой остановлен. Что процесс был убит. Погуглив немного я понял что это oom killer., даже команду находил чтобы посмотреть какой процесс был убит. И вот ищу решение

MaksDragon
() автор топика
Ответ на: комментарий от MaksDragon

Нет, нельзя. Если приложение игрового сервера течёт по памяти, то чините приложение, а до этого перезапускайте его по расписанию. Ну и запускайте свой игровой сервер из под systemd чтобы оный его перезапускал как только приложение будет убито

cobold ★★★★★
()
Ответ на: комментарий от cobold

«У меня ситуация такая: У нас игровой сервер по игре. На виртуальной машине 2гб оперативки. Утром увидел что сервер игровой остановлен. Что процесс был убит. Погуглив немного я понял что это oom killer., даже команду находил чтобы посмотреть какой процесс был убит» Так а нельзя просто сделать чтобы назначался файл подкачки? И увеличивался по мере того, сколько нужно игровому серверу?

MaksDragon
() автор топика
Ответ на: комментарий от MaksDragon

Нет, не поможет. Если приложение течёт по памяти, то оно всё равно будет запрашивать больше и больше памяти, а где система ее взять если суммарный объём памяти(рам + подкачка) ограничен?

cobold ★★★★★
()
Ответ на: комментарий от cobold

Я в этом всём не очень разбираюсь, прошу терпения. Но у нас не программка которая будет запрашивать бесконечное количество память. Конечно она ограничена. Там условно памяти кушает рам + чуть больше файла подкачки. Этими параметрами просто разрешу программе кушать сколько угодно но по итогу она не съест все ресурсы под ноль. Я это вижу вот так.

MaksDragon
() автор топика
Ответ на: комментарий от MaksDragon

Раз количество ограничено (и известно) создай заранее swap с небольшим запасом, в чем проблема?

kardapoltsev ★★★★★
()

На сервере 2гб оперативной памяти.

Нутакое. Небось ещё и с DE.

pinus_nigra
()
Ответ на: комментарий от MaksDragon

Не знаю что за приложение у вас, но выглядит стремно. а) использование свопа интерактивным приложением обычно приводит к «тормозам» приложения до такой степени что им становится некомфортно пользоваться; б) если приложение лезет в своп и при этом нормально работает + тот момент про проснулся однажды утром и обнаружил что приложение прибито по ООМ выглядит как будто приложение течёт по памяти. Для этой проблемы в общем случая только одно решение - исправлять приложение. Есть ещё костыли в виде регулярного рестарта приложения пока оно не прибито аварийно. Если вам не хватает памяти и вы уверены что достаточно увеличить своп, то есть ещё больший костыль - можно добавить своп файл man mkswap, man swapon, но лучше увеличить своп раздел

cobold ★★★★★
()
Ответ на: комментарий от MaksDragon

как это «увеличивался в размерах»?

своп - это файл или раздел. куда сбрасываются данные, которые не влезают в оперативную память. зачем ему «увеличиваться в размерах» если размер можно однократно задать, избежав фрагментации?

NiTr0 ★★★★★
()
Ответ на: комментарий от cobold

у клиента 2 гиг памяти. Прога может всего потеблять 10 гиг памяти, при этом активной памяти будет 0.5-1.5 гиг, остальное - неактивная память, перемещенная в своп. В таком сценарии 10 гиг свопа - норм решение.

anonymous
()

вопрос ниже пояса
как ты смотришь на то, чтобы отключить oom killer?
особенно в свете того, что ты бьёшь пяткой в грудь, что приложение не течёт

anonymous
()
Ответ на: комментарий от anonymous

может, да. Только тогда непонятно в чем изначальный вопрос, добавляешь своп до нужного объема и спишь спокойно

cobold ★★★★★
()
Ответ на: комментарий от hakavlad

хто тут? (в страхе озираясь по сторонам)

anonymous
()
Ответ на: комментарий от cobold

использование свопа интерактивным приложением обычно приводит к «тормозам» приложения до такой степени что им становится некомфортно пользоваться

у меня при своппинге ничего не тормозит, что я делаю не так?

hakavlad ★★★
()
Ответ на: комментарий от hakavlad

у тебя десктоп, за которым кроме тебя никто не сидит
а у автора VPS или ещё что-то в этом духе, где каждому нарезали по 2ГБ оперативы и ещё немного свопа

anonymous
()
Ответ на: комментарий от cobold

я у одного фидошника N лет назад видел подпись на форуме одном
орфография сохранена
never touch the running program!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.