Сайт | Скачать | Видео | Wiki

Автор Тема: mglru, le9-patch + zram. Нехватка памяти, фризы:OOM KILLER и пр.  (Прочитано 26464 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #135 : 23 Август 2021, 12:08:15 »
pf вообще не нашел таких параметров
Смотреть в патче. Наверно это:
Цитата
+unevictable_file_kbytes_low
+===========================
+
+Keep some file pages still mapped under memory pressure to avoid potential
+disk thrashing that may occur due to evicting running executables code.
+This implements soft eviction throttling, and some file pages can still
+be discarded.
+
+Setting it to 0 effectively disables this feature.
+
+The default value is 256 MiB.
+
+
+unevictable_file_kbytes_min
+===========================
+
+Keep all file pages still mapped under memory pressure to avoid potential
+disk thrashing that may occur due to evicting running executables code.
+This is the hard limit.
+
+Setting it to 0 effectively disables this feature.
+
+The default value is 128 MiB.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #136 : 28 Август 2021, 11:47:37 »
zram+le9-patch дают волшебный эффект на ПК с малым к-вом RAM
Еще чуть-чуть примеров "волшебного эффекта":
Цитата
...своп на zram и zram disksize в три раза больше MemTotal и alg=zstd.

Вот пример: 2 гига памяти, и 6 улетело в своп. То есть zstd позволяет сжатие в несколько раз при сборке. Так что можно делать своп даже в три раза больше оперативы.
Скриншот: https://imgur.com/a/vY9qrWz

Это сборка ядра 514 в 128 потоков, емнип, на двух гигах оперативы.

При этом: сохранялась отзвычивость, спокойно сделал скриншот на пике нагрузки, система ни разу не зависала.
Лор

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #137 : 28 Август 2021, 17:41:58 »
Опасненько размер zram делать больше ram, мне кажется. Случается что данные не жмутся, например если они уже жатые. Что случится если смонтировать папку в tmpfs и забивать ее архивами? По мере заполнения ram данные будут вытесняться в своп, сжать уже сжатый архив еще не получится.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #138 : 28 Август 2021, 17:55:36 »
Должен быть установлен и запущен OOM-killer nohang, с включенной опцией zram_checking_enabled=TRUE в nohang-desktop.conf/nohang.conf. Если правильно понял, отслеживаются ситуации с переполнением zram несжимаемым данными и отбрасываются.

Где-то видео было.

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #139 : 28 Август 2021, 18:06:43 »
А.что конкретно сделает Оом киллер в такой ситуации? Отследить то не проблема.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #140 : 28 Август 2021, 18:28:10 »

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #141 : 28 Август 2021, 20:22:33 »
Ок, а как он.определит кого.убивать? Вот конкретно в этой гипотетической ситуации он кого грохнет?

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #142 : 30 Август 2021, 13:24:25 »
Опасненько размер zram делать больше ram
Выше я делал. Как минимум однозначно можно сказать что с swop-in-zram при маленьком количестве памяти значительно лучше
Смысла в Оом киллер на дектопе я не понял. Как правило самое жрущее приложение  - браузер. Когда вообще вся память кончилась - упали вкладки. Память очистилась. Нужные по f5 можно восстановить. Чем бы здесь помог Оом?
А когда памяти не в обрез - экономить ее очень сильно помогает auto-tab-discard

Оффлайн Ekim

  • Ветеран
  • *****
  • Сообщений: 610
  • Репутация: +7/-0
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #143 : 06 Сентябрь 2021, 14:16:27 »
Цитата
Скриншот: https://imgur.com/a/vY9qrWz
Верхний график использования процессора?
# A78M-E35 Athlon-840 Nvidia-GT-710 DDR3-8GB Win7 64(bit)/PRA03-1612Game
# H96MaxUltraHD RK3318 2/16 aarch64 kernel 4.4.159

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #144 : 06 Сентябрь 2021, 14:40:16 »
Верхний график использования процессора?
Если вопрос про то, насколько zram= увеличивает нагрузку на проц - я увеличения не почувствовал.
Если кто-то почувствует - можно поиграть со степенью компрессии

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #145 : 06 Сентябрь 2021, 20:10:06 »
Верхний график использования процессора?
Это тест с компиляцией ядра 514 в 128 потоков. Естественно процессор будет задействован под верхнюю планку.


Там суть теста, что система не встает колом, когда идет массовый сброс данных в своп, роль которого выполняет zram.
Но и со свопом на HDD, тоже не будет проблем, если используются новые ядра pf. Правда ввод/вывод там будет помедленней и зависеть от новизны/древности диска.
С любыми другими ядрами комп просто 'умрет' от таких издевательств. Спасением будет только 'волшебная' кнопка на системном блоке. :)

p.s. В том тесте комп с 2Gb памяти.
« Последнее редактирование: 06 Сентябрь 2021, 20:33:06 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch и пр.
« Ответ #146 : 23 Сентябрь 2021, 15:14:25 »
Цитата
вышел le9fd, без заморозки и багов переваривающий даже
for i in {1..1000}; do (tail /dev/zero &); done
– быстрый запуск до тысячи хвостов - это невероятно!

https://github.com/hakavlad/le9-patch/blob/main/experimental/le9fd_patches/le9fd-5.14.patch
Лор

Интересно, что у меня команда "for i in {1..1000}; do (tail /dev/zero &); done" вызывает полное замерзание, но не по памяти, а процессору. Правда этот патч, естественно, не установлен (uname -r/5.13.0-pf5-lf5), но я не думаю, что он как-то влияет на загрузку проца.
Код
$ inxi -C
CPU:       Quad core Intel Xeon E5450 (-MT-MCP-) cache: 6144 KB
           clock speeds: max: 2997 MHz 1: 2098 MHz 2: 1998 MHz 3: 1998 MHz 4: 1998 MHz

$ free -h
               total        used        free      shared  buff/cache   available
Mem:           3,8Gi       1,4Gi       1,2Gi       236Mi       1,3Gi       1,8Gi
Swap:           11Gi          0B        11Gi


Хотя, кто его знает, в чем там первопричина 'заморозки'.
« Последнее редактирование: 23 Сентябрь 2021, 15:20:27 от krasnyh »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Нехватка памяти, фризы:OOM KILLER , le9-patch + zram и пр.
« Ответ #147 : 06 Январь 2022, 11:02:51 »
Код
# uname -r
5.15.0-pf5-mgm
# cat /sys/block/zram0/comp_algorithm
lzo lzo-rle lz4 lz4hc 842 [zstd]
Заметил еще алгоритм 842
842, 8-4-2 или EFT - это алгоритм сжатия данных.Это вариация алгоритма сжатия Lempel-Ziv с ограниченной длиной словаря.При типичных данных 842 дает от 80 до 90 процентов сжатия LZ77 с гораздо более быстрой пропускной способностью и меньшее использование памяти. [1]Аппаратные реализации также обеспечивают минимальное использование энергии и минимальной области.
По этой таблице получается, что он самый неэффективный

Нужна поддержка CONFIG_ZRAM_WRITEBACK в ядре.
- в моих 515 нет. В pf есть. Недоглядел. Добавить на будущее?

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: Конфиг ядра
« Ответ #148 : 07 Январь 2022, 00:28:10 »
Опять: :)
Цитата
Я в 5.16 буду без -le, но с mglru.
Лор

Но все же понятно решение, раз mglru собираются, в конце концов, добавить в ядро официально.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы

У автора pf убраны из списка патчи Damon и zstd, как вошедшие в официальное ядро.

А так же, как и анонсировалось, удален le9 в пользу mgLRU. Кто не в курсе, это механизм работы с памятью от Google. Он уже давно используется на ChromeOS, где всегда было памяти в обрез, в пределах 1G, плюс–минус.

Так что спасибо hakavlad и его le9, он взбаламутил все это болото и его патч стали добавлять в оптимизированные ядра. В итоге, зашевелились и гугловцы со своим mgLRU и провели ряд оптимизаций кода с прицелом добавления в официальное ядро.
« Последнее редактирование: 10 Январь 2022, 18:39:52 от krasnyh »