LINUX.ORG.RU

zswap — новые параметры по-умолчанию: zsmalloc, zstd (linux >= 6.3; archlinux)

 ,


1

2
CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"

https://wiki.archlinux.org/title/zswap

Это только в Arch Linux?

Вот что показал zswap-monitor2.py:

pool: 138.8 MiB (3.6% MemTotal) | stored: 886.2 MiB (98.3% SwapUsed) | compr_ratio: 6.4

А вот здесь Zram vs Zswap. Часть 1: практика @kirill_rrr пишет

«zsmalloc должен максимально компактно располагать сжатые страницы в памяти… и не сбрасывать их на диск!»

Может в ядрах >= 6.3 другое поведение?

Ну и ещё вопрос:

Сейчас swapon показывет сжатые страницы в zswap так, как будто они занимают место на swap device.

$ swapon
NAME      TYPE SIZE   USED PRIO
/swapfile file   4G 901,5M   -2

А как на самом деле?

★★★★★

Последнее исправление: greenman (всего исправлений: 4)

Судя по этому коммиту (если я правильно его понял), zsmalloc умеет вытеснять страницы начиная с ядра 6.2.

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

Сейчас swapon показывет сжатые страницы в zswap так, как будто они занимают место на swap device.

Так будет всегда, вне зависимости от аллокатора страниц. Frontswap в корне представляет собой именно механизм перехвата страниц, уже отправляющихся в своп. Поэтому для всего, что попадает в frontswap, резервируется место в настоящем свопе, чтобы при необходимости было куда вытеснить страницу.

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

Надо вычесть Zswapped из SwapTotal-SwapFree. Или собрать htop из мастера, я там понаписал парсер статистики zswap.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)

Не знаю, очень любопытно, но разбираться времени нет.

Может они решили активировать его по умолчанию в малозаметном режиме, типа пусть экономит сколько получится вместо zram, а если что пользователь поправит?

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

Но ячейки ssd не изнашиваются. И тормозов при записи/чтении hdd нет.

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

выхло такой

$ sudo python3 zswap-monitor2
[sudo] пароль для user: 
pool: 0.0 MiB (0.0% MemTotal) | stored: 0.0 MiB (0.0% SwapUsed) | compr_ratio: 0.0
pool: 0.0 MiB (0.0% MemTotal) | stored: 0.0 MiB (0.0% SwapUsed) | compr_ratio: 0.0
pool: 0.0 MiB (0.0% MemTotal) | stored: 0.0 MiB (0.0% SwapUsed) | compr_ratio: 0.0
pool: 0.0 MiB (0.0% MemTotal) | stored: 0.0 MiB (0.0% SwapUsed) | compr_ratio: 0.0
pool: 0.0 MiB (0.0% MemTotal) | stored: 0.0 MiB (0.0% SwapUsed) | compr_ratio: 0.0
^C
hakavlad ★★★
()
Ответ на: комментарий от kirill_rrr

А получается столько и занято, раз место логически зарезервировано.

Если сбрасывать нули в своп (своп на HDD), то SwapUsed БЫСТРО растет (значит диск не используется - SwapUsed означает в этом случае размер несжатых страниц). То есть да, размер занятого свопа с случае с zswap означет размер несжатых страниц, как если б zswap не использовался.

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

pool - размер пула zswap - размер сжатых страниц в памяти. stored - размер реально занятого свопа.

hakavlad ★★★
()

Вау, оказывается опчик уже использовал это. Я-то даже пост не дочитал сначала.

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