[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