LINUX.ORG.RU
ФорумTalks

Открыл для себя vm.overcommit_memory

 


5

2

Да, я слоупок: более 5 лет пользуюсь линуксом, даже программист вроде как, и только сейчас обнаружил эти отличные опции для `/etc/sysctl.conf`:

vm.overcommit_memory = 2
vm.overcommit_ratio = 100

Перегрузил опции командой `sudo sysctl --system` и попал прямо в райские кущи. Можно открыть браузер, три IDE и запустить виртуалку Virtual Box - и результатом станет не зависание системы намертво с необходимостью делать hard reset, а просто ошибка в Virtual Box (работа виртуальной машины прервана).

Своп отключил ещё раньше, я не хочу, чтобы моя система висла намертво под девизом «я тут данные программы в своп скину, как будто бы памяти достаточно, ты тут посиди пару дней, подожди, пока я закончу». Хотя конечно с точки зрения разработчиков Linux это не зависание намертво, это просто долгая работа со свопом - но я так не считаю и считаю что в линуксе своп надо отключать.

А как вы боретесь с традиционным для Linux зависанием намертво при нехватке памяти?

P.S. для справки, настройку выполнял согласно этому былинному посту: http://avz.org.ua/wp/2011/04/24/overcommit-memory/

Лет через 5 до тебя дойдет и то, что своп - это благо.

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

что своп - это благо.

а можно какое-нибудь убедительное исследование на эту тему, с формулками и математически строгими доказательствами

Harald ★★★★★ ()

Своп отключил ещё раньше

А если свопа нет то что куда раньше скидывалось и тормозило?

Вам, кажется, oom-killer надо было тюнить, а этот оверкоммит это какая-то капитанская штука «больше чем есть всего памяти не давать». Не понял как оно работает.

А как вы боретесь с традиционным для Linux зависанием намертво при нехватке памяти?

Никогда не видел. С тормозами при своппинге сталкивался, но тогда подвисает какое-то конкретное приложение. Чтоб прям вообще все колом вставало - никогда.

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

убедительное исследование на эту тему, с формулками и математически строгими доказательствами

Сейчас, только заверю его нотариально.

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 1)

А теперь открой для себя swappiness.

Pyzia ★★★★ ()

У меня ssd, проблем никаких при использовании swap нет.

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

а можно какое-нибудь убедительное исследование на эту тему, с формулками и математически строгими доказательствами

У меня был случай - не хватало памяти на прокатывание апдейта веб-сайта на серваке (руби там были, деплой с миграцией в базе через капистрано). Добавил свап файл - все прошло отлично. Сайт работает дальше, брать другой тариф не нужно, хеппи энд.

Norgat ★★★★★ ()

Эта настройка отключает оверкоммит. А прибивалка в ядре достаточно тупая, она просто суммирует vm всех приложений. А некоторые приложения любят делать mmap бесконечных файлов, со всеми вытекающими последствиями. Поэтому в реальных условиях все настройки кроме нуля не работают.

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

Своп для этого и придумали. Меня интересует случай, когда памяти хватает

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

в реальных условиях все настройки кроме нуля не работают.

Это, конечно, не так.

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

А ты оптимист, оказывается.

Думаешь, до ТС не дойдёт? Ведь tailgunner прав: своп - это благо.

baka-kun ★★★★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

А как насчет zram?

И как оно? Сколько можно выжать дополнительно памяти? У меня иногда бывает, как у ТС. Приходится ресетить.

ox55ff ★★ ()

А как вы боретесь с традиционным для Linux зависанием намертво при нехватке памяти?

Время от времени закрываю все вкладки в браузере и выхожу из него.

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

Меня интересует случай, когда памяти хватает

Можно не очень нужные страницы вынести в swap, чтобы освободить память под дисковый кэш.

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

но для этого нужно писать на диск

профит точно есть?

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

но для этого нужно писать на диск

И что?

профит точно есть?

Да

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

Убьет. ООМ киллер убивает что угодно, кроме пожирателя оперативы.

lenin386 ★★★ ()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от baka-kun

Своп — благо, но у ТСа мнение, а это не всегда лечится.

t184256 ★★★★★ ()

overcommit - это конечно прикольно, но мне например намного интереснее как заставить ООМ быстро и решительно убивать пусть не виновника, но хоть кого-нибудь, не зависая на годы?

sergej ★★★★★ ()

А как вы боретесь с традиционным для Linux зависанием намертво при нехватке памяти?

Быстрый SSD решает проблему. Никогда такого не было с ним (только если специально форк бомбы тестировал).

А раньше, когда своп и сама система были на одном и том же зеленом HDD с 5200 оборотов, та ещё веселуха была, если назапускаешь много приложений.

fornlr ★★★★★ ()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от lenin386

Убьет. ООМ киллер убивает что угодно, кроме пожирателя оперативы.

Если у тебя есть своп — OOM не будет никого убивать, пока есть место в свопе :)

Ну, кроме тех случаев, когда всю память сожрало ядро.

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

Йесли у меня йесть своп, речь об оом киллере вести не корректно.

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

Йесли у меня йесть своп, речь об оом киллере вести не корректно.

Почему же? Когда своп кончится, к тебе придет OOM.

kirk_johnson ★☆ ()

Своп отключил ещё раньше

т.е. сделал сначала себе плохо, а теперь героически преодолеваешь трудности? ню-ню.

А как вы боретесь с традиционным для Linux зависанием намертво при нехватке памяти?

использую софт сообразно кол-ву памяти на компе?

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

Ну не совсем так, на самом деле. Убивают того кому не смогли выделить страницу, когда она реально стала нужна и нечего освободить сбросом кэша

Nastishka ★★★★ ()

А как вы боретесь с традиционным для Linux зависанием намертво при нехватке памяти?

Воткнул 64Gb памяти в десктоп. Пока хватает.

hateyoufeel ★★★★★ ()

Без оверкоммита и свопа типичный лоровец на своих 1-2гигах озу сможет запустить только одну вкладку с лором.

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

Не, от 12309 — это тюнинг dirty_bytes (кстати, в отличие от сомнительной инструкции ТСа, штука действительно полезная).

dogbert ★★★★★ ()

а просто ошибка в Virtual Box (работа виртуальной машины прервана).

Легче кучу памяти накупить. Если линуксоид не может позволить себе нормальное железо то этот линуксоид делает что-то не так.

entefeed ☆☆☆ ()
Ответ на: комментарий от t184256

у ТСа мнение, а это не всегда лечится.

Согласен. Пока он считает, что своп — это какая-то резервная медленная память, которой ядро прячет недостачу оперативки, ничего не поможет. Но и пять лет — тоже приличный срок, чтобы поумнеть. :)

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

Но и пять лет — тоже приличный срок, чтобы поумнеть

За пять лет можно было и заработать на планку памяти. Это разумнее, чем записываться в секту поклонников свопа в попытке узаконить свое нищебродство.

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

Ещё один… Своп нужен вовсе не как замена оперативной памяти.

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

Еще один пугатель неведомыми ужасами краха системы без свопа. Практики нет, опыта нет, только где-то когда-то вычитал, что без свопа никак.

vaddd ★★ ()
Ответ на: комментарий от baka-kun

Своп нужен вовсе не как замена оперативной памяти.

Своп нужен и как замена тоже.

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

Своп нужен и как замена тоже.

Всё же не замена в чистом виде, а временное хранилище редко используемой «грязной» памяти. Чтобы блоком в свопе воспользоваться, нужно загрузить его в оперативку, вытеснив какой-то другой блок памяти.

baka-kun ★★★★★ ()
Ответ на: комментарий от vaddd

пугатель неведомыми ужасами

Неведомым поведение памяти остается только для невежд, заменяющих знание методом тыка, а осмысленную конфигурацию системы — камланием с бубном.

Практики нет, опыта нет…

Что-то подсказывает, мой опыт старше, чем большинство посетителей лора. :)

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

Вы сами обращаете внимание на собственные аргументы? Все они основаны на том, что памяти у вас недостаточно. Что «редко используемая грязная память» вас напрягает. То есть опять нищебродство.

И еще - свопопоклонники любят ссылаться на сию статью фейсбучного инженера, как на библию, но, похоже, никто ее толком не прочитал и не осмыслил выводы.

vaddd ★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)