LINUX.ORG.RU

Значение swappiness при использвании ZRAM

 


1

3

У меня ZRAM включен через systemd-swap.

RAM:	16 GiB DDR4 3200 MHz
Размер ZRAM:	1/4 RAM

Какие значения указать для vm.swappiness и vm.vfs_cache_pressure. Видел первое советуют делать 100%, а второе 50% для SSD, а кое-где и все 500. Кто что посоветует? Пока оставил дефолтные значения системы.

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

я там ни слова не нашел про zram

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

для плацебо конкретные значения не важны, главное верить

anonymous
()
Ответ на: комментарий от Exmor_RS

Swap 64МБ

Это не swap. ))) Это кастрат. )))

Никакие твики в sysctl не помогут.

Нам помогает и все работает. Тебе c таким swap ничего уже не нужно. )

Rx0
()
Последнее исправление: Rx0 (всего исправлений: 2)
Ответ на: комментарий от Rx0

Как ни странно, наоборот стабильность системы повысилась (16GB озу).
Лучшая моя комбинация после всех вариантов подсмотренных в различных вариантах решения проблемы отзывчивости и свопинга важных либ.

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

systemd-swap сам создает файлы подкачки по мере надобности

$ yay -S systemd-swap

# Такие конфигурации подходят для машин с RAM ≥ 4GB
$ sudo tee /etc/sysctl.d/99-sysctl.conf << EOF > /dev/null
vm.swappiness = 10
vm.vfs_cache_pressure = 1000
EOF

# Применяем настройки
$ sudo sysctl -p /etc/sysctl.d/99-sysctl.conf

# Чтобы работал zswap нужно убедиться что /etc/systemd/swap.conf содержит zswap_enabled=1

# Включаем создание файлов подкачки по мере надобности
$ echo 'swapfc_enabled=1' | sudo tee /etc/systemd/swap.conf.d/myswap.conf

# ZRAM (Опционально)
$ echo 'zram_enabled=1' | sudo tee -a /etc/systemd/swap.conf.d/myswap.conf

# Если будут использоваться файлы подкачки, то создадим подтом
# Создание подтома необходимо для исключения файлов подкачки из снапшотов
$ sudo mount <device> /mnt
$ sudo btrfs sub cre /mnt/@swap

# Теперь нужно добавить запись в /etc/fstab
echo '<device>	/var/lib/systemd-swap/swapfc     	btrfs     	rw,noatime,ssd,space_cache,subvol=/@swap	0 0' | sudo tee -a /etc/fstab

# Монтируемся
$ sudo mount -a

$ sudo systemctl enable systemd-swap
$ sudo systemctl start systemd-swap
tz4678 ★★
() автор топика
6 октября 2020 г.

Зачем тебе этот zram вообще? кроме того, zram мало смысла использовать, если есть возможность использовать реальный свап+zswap.

anonymous
()
Ответ на: комментарий от hopheynananey

Есть смысл в свопе на современные SSD, теряющие скорость записи до десятков мегабайт в секунду после заполнения MLC кэша?

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

Зачем тебе этот zram вообще?

Быстрый своп, отличная штука. Я во времена, когда у меня домашним сервороутером была кубиборда2 с 1Гб ОЗУ четверть отдал под приоритетный своп на zram. Сильно помогло.

Лучше ли это чем zswap - я хз.

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

Что? Кэш никогда не попадает в свап, тк это бессмысленно - всё что в кэше, и так есть на диске (TMPFS в рассчёт не берём).

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

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

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

Нет никакой прелести, кэш при нехватке памяти тупо освобождается, а никуда не высвапливается.

anonymous
()
Ответ на: комментарий от anti_win

В этом контексте - нет, если ты не принесёшь точную цитату подтвеждающую это.

anonymous
()
Ответ на: комментарий от anti_win

это малость устарело
там не описано отличие в поведении при значении 0 и 1

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

Так и скажи, что пруфа у тебя нет, и ты это просто придумал, увидев знакомое словосочетание.

anonymous
()
Ответ на: комментарий от anti_win

в том контексте нет
но
в 5-х ядрах усложнили управление памятью
например, кэш может вытесняться в своп если своп например на ссд а файл лежит на хдд или это сетевой диск

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

Дисковый кэш в своп не попадает, он просто вытесняется из памяти в случае ее нехватки. Swappiness настраивает приоритет того, чему отдавать предпочтение при нехватке памяти (дисковому кэшу или анонимной памяти).

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

Зависит от того, как этот код там взялся. Код это или нет само по себе не важно.

anonymous
()
Ответ на: комментарий от Kron4ek

Swappiness настраивает приоритет того, чему отдавать предпочтение при нехватке памяти (дисковому кэшу или анонимной памяти)

То есть, свапинесс влияет на выбор, что выгрузить из памяти: анонимные страницы или дисковый кеш? Но сам кеш на диск не свапится?

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

нет, они открываются как файлы отображаемые в память.
в общих чертах:
есть 3 типа страниц памяти: анонимная(это данные программ не ассоциированные с файлами), mmap(ассоциированная с файлами) и pagecache(это обычные файлы).
в своп вытесняются только анонимные, ибо их девать некуда =)
остальные смысла свопить нет.
но есть нюанс =)
в 5-х ядрах наворотили вот что:
если стоимость восстановления из свопа меньше чем снова прочитать из файла, например: ситуация когда своп это (ssd|zswap|zram), а файл на (hdd|netfs).
то ядро выкинет кэш и редко исполняемый код в своп.
теперь это как-то так работает.
ссылка на статью была недавно в каком-то аналогичном сраче.
искать лень.

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

Да, влияет на выбор. При этом анонимные страницы могут свопиться, а дисковый кэш - нет.

Хотя вон человек выше говорит, что кэш может свопиться, если своп на одном накопителе, а кэш содержит файл с другого накопителя, но я про это не знаю, так что не могу подтвердить или опровергнуть.

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

Тогда признаю свою неправоту по поводу кеша. Значит, я что-то не так прочел. Скорее всего я как раз таки читал то, что ты мне написал, но понял неправильно, или прочитал невнимательно.

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

То есть, свапинесс влияет на выбор, что выгрузить из памяти: анонимные страницы или дисковый кеш?

он влияет на вычисление приоритета что важнее - данные или кэш.
при значении 100 приоритеты равны.

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

Да. У меня при пересборке Хрома 16 Гб мало, в своп залазит. И это сборка с помощью clang, а если с gcc собирать, то и свопа не хватало.

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

т.е. ищи сам, мне лень

Не, так не пойдёт. Твоё заявление пока считается за ложное (что-то не где то прочитал и не так понял).

anonymous
()
Ответ на: комментарий от LongLiveUbuntu

Ну так и какова по скорости сборка в жрущем проц zram/zswap против сборки в меньшее число потоков, зато без сваппинга?

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

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

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

ФС это не память, объём чтения записи которой гораздо больше. Ну и очевидно у тебя диск медленный, у меня на nvme даже сраный ntfs-3g проц жрёт как сволочь.

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

даже сраный ntfs-3g

Именно потому, что он ntfs-3g. Работает в юзерспейсе. Какая нибудь ext4 жрала бы меньше.

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

там их 8
линейная скорость упирается не в диски,а в потолок sata bus 600 Мб/с
и это с учетом сжатия и подсчета чексумов

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