[devel] OOM OMG OMG...

Andrey Savchenko bircoph на altlinux.org
Вт Фев 1 17:02:25 MSK 2022


On Tue, 1 Feb 2022 13:58:53 +0300 Paul Wolneykien wrote:
> В Tue, 1 Feb 2022 02:55:31 +0300
> Andrey Savchenko <bircoph на altlinux.org> пишет:
> 
> > On Tue, 1 Feb 2022 02:26:57 +0300 Paul Wolneykien wrote:
> > > В Tue, 1 Feb 2022 00:55:18 +0300
> > > "Alexey V. Vissarionov" <gremlin на altlinux.org> пишет:
> > >   
> > > >  >> P.S. Для браузера 32 бит вполне хватает 2GB RAM + zswap
> > > >  >> или 3 GB RAM, если 100500 вкладок не открывать.    
> > > > 
> > > > Ага. А когда нужно запустить что-то еще - обязательно завершить
> > > > этот процесс, чтобы он память не жрал.  
> > > 
> > >   И тут мы возвращаемся к другому вопросу: как, всё-таки, настроить
> > > OOM-killer так, чтобы он не отправлял систему в бесконечный цикл и
> > > не требовал перезагрузки по питанию? Потому, что кроме старого
> > > 32-битного железа с 3 GB RAM, есть ещё большое количества старого
> > > 64-битного железа с 2 GB RAM, которое физически отомрёт в тех же
> > > школах наверняка позже 32-битного.  
> > 
> > В первую очередь следует включить zswap, лучше всего с методом
> > z3fold. Это где-то в 1.5 раза эффективный объём памяти увеличит, но
> > сделает хвост более медленным, но всё равно много лучше свопа.
> 
>   Но это всё-равно вероятностное решение будет: лопнет — не лопнет. 

Любое решение будет вероятностным, вопрос в величине этой самой
вероятности.

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

Ну вот я много лет работал на ноуте с 2GB (пока он не помер перед
этим НГ), правда 32 бит. Там вот, 2 GB RAM + zswap хватает для
нормальной работы с любым сайтом, будь то chromium или firefox. Но
да, сразу два очень тяжёлых сайта может не вытянуть (больше в CPU,
чем в RAM упиралось). На 64 битах потребление памяти будет больше,
конечно, но я думаю, что не более 20-30%, так что не критично.

>   Идеального поведения в отношении браузера я добивался отключением
> overcommit_memory. В случае исчерпания памяти очередная вкладка
> показывала сообщение "Извините, вкладка упала", а всё остальное
> продолжало работать. Я так понял, что новый Firefox умеет не падать
> целиком.

И firefox, и chromium так умеют. Но чаще там вкладки из-за
каких-нибудь сегфолтов вылетают.

>   Это действительно было идеально, но на машинке, у которой было
> больше 2 ГБ, возможно даже 4 ГБ. Если памяти меньше, то с отключённым
> overcommit даже простой графический сеанс уже не запустить. А там, где
> сеанс и браузер запустить удаётся, часто нет возможности даже открыть
> новый эмулятор терминала. По-видимому, переоцениваются потребности
> очередного fork() или что-то в этом роде.
>   Поэтому отключение overcommit это тоже не выход. К сожалению.

А зачем отключать overcommit? Он как раз помогает, тем более, что
горячая память далеко не вся и всякий хлам уходит в swap.

Best regards,
Andrew Savchenko
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20220201/07545f0a/attachment-0001.bin>


Подробная информация о списке рассылки Devel