LINUX.ORG.RU
ФорумTalks

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

 


6

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/

★★★★

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

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

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

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

Harald ★★★★★
()

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

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

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

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

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

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

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

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

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

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

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

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

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

Norgat ★★★★★
()

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

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

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

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

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

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

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

ox55ff ★★★★★
()

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

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

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

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

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

Black_Shadow ★★★★★
()

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

sergej ★★★★★
()

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

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

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

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

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

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

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

kirk_johnson ★☆
()
Ответ на: комментарий от 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 ★☆
()
Ответ на: комментарий от baka-kun

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

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

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

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

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

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

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

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

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

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

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

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

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