ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Andrey Savchenko <bircoph@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] OOM OMG OMG...
Date: Tue, 1 Feb 2022 17:02:25 +0300
Message-ID: <20220201170225.f8fccd841e8e6dcb68343dd1@altlinux.org> (raw)
In-Reply-To: <20220201135853.0a89a8b9@rigel>

[-- Attachment #1: Type: text/plain, Size: 4844 bytes --]

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

[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2022-02-01 14:02 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-24 15:54         ` [devel] [#291551] [test-only] FAILED (try 5) crtools.git=3.16.1-alt1 Vladimir D. Seleznev
2022-01-24 22:51           ` Alexey V. Vissarionov
2022-01-25  7:51             ` Sergey V Turchin
2022-01-25  7:47           ` Sergey V Turchin
2022-01-25 10:52           ` Alexey Sheplyakov
2022-01-25 15:58             ` Gleb Fotengauer-Malinovskiy
2022-01-25 16:12             ` Vladimir D. Seleznev
2022-01-25 16:17               ` Anton Farygin
2022-01-26 13:01               ` Alexey Sheplyakov
2022-01-28 21:30               ` Dmitry V. Levin
2022-01-28 21:58                 ` Leonid Krivoshein
2022-01-28 22:45                   ` Dmitry V. Levin
2022-01-29  9:17                     ` Alexey V. Vissarionov
2022-01-29 12:19                     ` Yuri Sedunov
2022-01-28 22:25                 ` Andrey Savchenko
2022-01-28 22:43                   ` Dmitry V. Levin
2022-01-28 23:33                     ` Andrey Savchenko
2022-01-30  0:10                   ` Mikhail Novosyolov
2022-01-30  9:25                     ` Anton Farygin
2022-01-30 16:45                     ` Andrey Savchenko
2022-01-29  2:32                 ` Антон Мидюков
2022-01-29  3:06                   ` Dmitry V. Levin
2022-01-29  5:27                     ` Антон Мидюков
2022-01-29  9:31                   ` Alexey V. Vissarionov
2022-01-29 10:09                     ` Антон Мидюков
2022-01-29 11:29                       ` Alexey Gladkov
2022-01-29 11:34                         ` Anton Farygin
2022-01-29 11:47                           ` [devel] x86_64-i586 Dmitry V. Levin
2022-01-29 11:58                             ` Anton Farygin
2022-01-31  9:24                               ` Anton V. Boyarshinov
2022-01-31 10:12                                 ` Ilya Kurdyukov
2022-01-31 10:22                                   ` Anton V. Boyarshinov
2022-01-29 12:02                             ` Антон Мидюков
2022-01-29 12:10                               ` Anton Farygin
2022-01-29 12:28                                 ` Andrey Savchenko
2022-01-29 17:29                                   ` Anton Farygin
2022-01-30 18:37                       ` [devel] [#291551] [test-only] FAILED (try 5) crtools.git=3.16.1-alt1 Alexey V. Vissarionov
2022-01-29  7:31                 ` Anton Farygin
2022-01-29 11:22                 ` Alexey Gladkov
2022-01-29 12:31                   ` Валерий Иноземцев
2022-01-29 12:48                 ` Sergey Y. Afonin
2022-01-29 13:01                   ` Grigory Ustinov
2022-01-29 13:26                     ` Alexey Gladkov
2022-01-29 17:32                       ` Anton Farygin
2022-01-29 18:12                         ` Alexey Gladkov
2022-01-29 18:16                           ` Anton Farygin
2022-01-29 18:35                             ` Alexey Gladkov
2022-01-30  9:20                               ` Anton Farygin
2022-01-31 10:36                           ` Sergey Afonin
2022-01-29 15:38                 ` Alexey Sheplyakov
2022-01-29 15:50                   ` Denis Medvedev
2022-01-29 17:33                     ` Anton Farygin
2022-01-30 19:11                     ` Alexey V. Vissarionov
2022-01-29 16:00                   ` Dmitry V. Levin
2022-01-29 17:41                     ` [devel] subrepository for 32-bit Anton Farygin
2022-01-29 18:25                       ` Alexey Gladkov
2022-01-30  4:42                         ` Ilya Kurdyukov
2022-01-30  6:35                               ` Aleksey Novodvorsky
2022-01-30  7:10                                 ` Антон Мидюков
2022-01-30  8:05                                 ` Ilya Kurdyukov
2022-01-30  9:24                                   ` Anton Farygin
2022-01-30 10:15                                     ` Ilya Kurdyukov
2022-01-30 10:25                                       ` Anton Farygin
2022-01-31  0:54                                         ` Alexey V. Vissarionov
2022-01-30 20:14                                   ` Michael Shigorin
2022-01-30 20:49                                     ` Andrey Savchenko
2022-01-30 21:03                                       ` Aleksey Novodvorsky
2022-01-31 10:23                                         ` Alexey Sheplyakov
2022-01-31 10:29                                           ` Антон Мидюков
2022-01-31  5:28                                       ` Ilya Kurdyukov
2022-01-31 10:43                                         ` Sergey Afonin
2022-01-31 16:42                                       ` arbars
2022-01-31 21:55                                         ` Alexey V. Vissarionov
2022-01-31 23:26                                           ` [devel] OOM OMG OMG Paul Wolneykien
2022-01-31 23:55                                             ` Andrey Savchenko
2022-02-01 10:58                                               ` Paul Wolneykien
2022-02-01 14:02                                                 ` Andrey Savchenko [this message]
2022-02-01 12:40                                         ` [devel] subrepository for 32-bit Anton Farygin
2022-01-30 17:32                               ` Ilya Kurdyukov
2022-02-08 20:02                                     ` Alexey V. Vissarionov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220201170225.f8fccd841e8e6dcb68343dd1@altlinux.org \
    --to=bircoph@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git