Calculate Forum

Swap больше не нужен!

Смелое утверждение в заголовке новости, не так ли? Тем не менее, если вам не нужна гибернация, то 8, 4 или даже 2 Гб оперативной памяти теперь должно хватить для выполнения повседневных задач. Даже 512 Мб хватит для того, чтобы загрузиться с Live USB, запустить Chromium и в нем немного поработать:

Как же так, скажите вы, ведь на скриншоте подключен своп? - и будете отчасти правы. Только это не классический своп на диске, а динамический, в выделяемой опетаривной памяти. Его особенность заключается в том, что он эффективно (от 3 до 9 раз) и очень быстро пережимает все данные. На скриншоте выше CLDX запущенная в виртуальной машине с 512 Мб ОЗУ. Для статистики удобно использовать утилиты htop и zramctl. По ним видно, что для того, чтобы запустить браузер, система скинула в своп 387 Мб (на момент выполнения zramctl), при этом от памяти zram взял только 78 Мб.

Вот другой пример, htop запущенный на стареньким нетбуке на Atom с 2Гб ОЗУ без использования дискового swap:

Я честно пытался загрузить нетбук задачами, но он упорно со всем справлялся. При этом за системой вполне себе можно было работать.

По умолчанию zram подключается если в системе отсутствует swap раздел, т.е. в первую очередь на Live USB. Изменить настройки можно в файле /etc/conf.d/zram:

# Compression algorithm for zram disk
COMPRESSION="zstd"

# Zram disk size in percent of RAM or absolute value with suffix (K,M,G)
DISKSIZE="200%"

# Start zram swap disk
# swapless - start only for swapless system
# always - start anyway
START="swapless"

Пусть вас не пугает выставленный по умолчанию параметр DISKSIZE, т.к. учитывается не пережатый объём данных. По факту, zram в памяти будет занимать значительно меньше места. Для установленных систем с подключенным swap разделом zram запускаться не будет. Для того, чтобы изменить это поведение, отредактируйте параметр START, вписав в него значение always.

Обновление попало в ночные сборки начиная с 20200526.


P.S. Несколько лет назад мы внедряли zswap в Calculate Linux, но периодически стали поступать жалобы, что система при большой нагрузке могла зависнуть. Со временем от zswap решено было отказаться. Сейчас мы провели серию тестов и таких проблем у zram не выявили. Сотрудники компании работающие с флешек уже используют zram.
Если использовать zram совместно с zswap, то в zram попадают уже пережатые данные и он становится неэффективным. У zram есть параметр writeback, включённый по умолчанию в обновлении ядра (5.4.42). Как я понимаю он позволяет сбрасывать данные на диск, если они не помещаются в выделенный раздел.

2 Likes

Небольшое дополнение. Сравнил релиз CLDX 20 с двумя сборками, доступными сейчас на зеркалах - 20200521 и 20200526.

  • CLDX 20 - загружается с 512 Мб ОЗУ, но установить можно только из консоли предварительно остановив Xorg сервер.
  • CLDX 20200521 - уже не загружается графический сеанс при 512 Мб ОЗУ.
  • CLDX 20200526 - загружается и устанавливается графическим установщиком из X-ов при 384 Мб ОЗУ!
1 Like
© 2007-2020 Calculate Ltd.
Mastodon Mastodon