Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: [РЕШЕНО] ZSWAP и swappiness в Ubuntu 16.04  (Прочитано 4302 раз)

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

Оффлайн Nekk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
[РЕШЕНО] ZSWAP и swappiness в Ubuntu 16.04
« : 24 Август 2016, 23:28:42 »
Итак, ноут на Pentium N3540 4GB RAM, Ubuntu 16.04.
По многим рекомендациям поставил значение swappiness=10, которое, как я понял из всех источников говорит что свап включится после того, как озу заполнится на 90%.
После нескольких раз, когда моя IDE+браузер+несколько программ вылазили за размеры оперативки, начинались тормоза.
Попробовал включить ZSWAP с параметрами такими параметрами:
zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=20
После этого тормоза после исчерпания ОЗУ пропали.
Вопрос, какие параметры swappiness и zswap.max_pool_percent ближе к идеалу для хорошего быстродействия?
Много искал, но все рекомендации слишком разные...Мало где упоминается параметр swappiness при включенном ZSWAP.
Еще слышал о ZRAM, но как понял, что в моем случае оно будет хуже ZSWAP (т.к. запускается phpstorm на java от oracle). Вроде есть еще tmpfs, но туда еще не добрался - пока запутался в двух соснах.
Прошу знающих подсказать  :)
« Последнее редактирование: 26 Август 2016, 05:27:14 от Nekk »

Оффлайн skybour

  • Старожил
  • *
  • Сообщений: 2224
    • Просмотр профиля
Re: ZSWAP и swappiness в Ubuntu 16.04
« Ответ #1 : 24 Август 2016, 23:33:05 »
Nekk, а тебе зачем? Проц не самый слабый, оперативки тоже не в обрез. Верни сваппинес обратно и будет тебе счастье.

Оффлайн Nekk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: ZSWAP и swappiness в Ubuntu 16.04
« Ответ #2 : 24 Август 2016, 23:38:03 »
Nekk, а тебе зачем? Проц не самый слабый, оперативки тоже не в обрез. Верни сваппинес обратно и будет тебе счастье.
Ну вопрос зачем это интересно =)
По рабочим потребностям включен браузер с кучкой вкладок + скайп + либра + трекер времени + музыка (как без нее) + phpstorm. Последний очень веселый парень, при некоторых действиях начинает жрать, т.к. разрешил ему (макс 1ГБ), ибо если запретить ему кушать озу, он будет тормозить. Без ZSWAP начинались тормоза.
ZSWAP при zswap.max_pool_percent=20 и swappiness 10 неплохо, но скорость не та. Пробовал 50 и 50 вроде лучше, потому прошу подсказать какие соотношения лучше, если кто знает.

Оффлайн skybour

  • Старожил
  • *
  • Сообщений: 2224
    • Просмотр профиля
Re: ZSWAP и swappiness в Ubuntu 16.04
« Ответ #3 : 24 Август 2016, 23:44:03 »
Ты же понимаешь, что оперативки больше у тебя не становится? Сжимай/не сжимай зисвопом рано или поздно задействуется раздел подкачки на винте. Если ты используешь приложения жадные до оперативной памяти -- добавь оперативной памяти.

Оффлайн Nekk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: ZSWAP и swappiness в Ubuntu 16.04
« Ответ #4 : 24 Август 2016, 23:46:28 »
Ты же понимаешь, что оперативки больше у тебя не становится? Сжимай/не сжимай зисвопом рано или поздно задействуется раздел подкачки на винте. Если ты используешь приложения жадные до оперативной памяти -- добавь оперативной памяти.
Конечно понимаю. Вопрос ведь в том, что какие из этих значений +/- оптимальны. Все равно сейчас в разы лучше стало, когда все приложения накушаются. Т.е. как можно при таких раскладах максимально выжать быстродействия.

Оффлайн skybour

  • Старожил
  • *
  • Сообщений: 2224
    • Просмотр профиля
Re: ZSWAP и swappiness в Ubuntu 16.04
« Ответ #5 : 24 Август 2016, 23:52:02 »
Оптимальны для чего?
Раз сейчас все работает как надо, зачем тема?
Быстродействие можно "выжать" разное, при разных раскладах.
Ты таки напрашиваешься.

Оффлайн Nekk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: ZSWAP и swappiness в Ubuntu 16.04
« Ответ #6 : 24 Август 2016, 23:58:41 »
Оптимальны для чего?
Раз сейчас все работает как надо, зачем тема?
Быстродействие можно "выжать" разное, при разных раскладах.
Ты таки напрашиваешься.
Я спрашиваю про значения swappiness и zswap.max_pool_percent, для того, чтобы система работала наилучшим образом.
Работает при zswap лучше, чем без него. На ресурсах есть рекомендации, например свапинес 10 и макспул 1 )) или свапинес 30 и макспул 20. Я не разобрался в них, т.к. много противоречивой инфы.
Не хочу грубить, но если сказать нечего - не говори.
Внизу темы есть фраза "Прошу знающих подсказать  :)". А не знающие проходите мимо, пожалуйста!

Оффлайн Tear

  • Старожил
  • *
  • Сообщений: 1177
  • Ubuntu 14.04 LTS
    • Просмотр профиля
Re: ZSWAP и swappiness в Ubuntu 16.04
« Ответ #7 : 25 Август 2016, 07:26:36 »
По многим рекомендациям поставил значение swappiness=10, которое, как я понял из всех источников говорит что свап включится после того, как озу заполнится на 90%.
Это ошибочное мнение, это не так.

Оффлайн Nekk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: ZSWAP и swappiness в Ubuntu 16.04
« Ответ #8 : 25 Август 2016, 08:14:21 »
По многим рекомендациям поставил значение swappiness=10, которое, как я понял из всех источников говорит что свап включится после того, как озу заполнится на 90%.
Это ошибочное мнение, это не так.
Поделитесь знаниями, будьте добры! А то реально очень много противоречий в разных рекомендациях.

Оффлайн Tear

  • Старожил
  • *
  • Сообщений: 1177
  • Ubuntu 14.04 LTS
    • Просмотр профиля
Re: ZSWAP и swappiness в Ubuntu 16.04
« Ответ #9 : 25 Август 2016, 12:24:43 »
Поделитесь знаниями, будьте добры! А то реально очень много противоречий в разных рекомендациях.
Если вкратце, то, как я понимаю, этот параметр, грубо говоря, регулирует освобождение занятой файловым кэшем памяти при нехватке ОЗУ - перемещать его в своп или сбрасывать.

Оффлайн Nekk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: ZSWAP и swappiness в Ubuntu 16.04
« Ответ #10 : 26 Август 2016, 04:51:10 »
Путем тыка и простых вычислений оказалось, что параметр swappiness при значении 60 будет начинать работу, как и говорилось при заполнении 100-60= 40% памяти, только вот именно что памяти, общей, не ОЗУ как везде написано. Т.е. общая память это ОЗУ+СВОП  :D
Может кому пригодится...

Пользователь добавил сообщение 26 Август 2016, 05:23:40:
А ZSWAP начинает компрессию исходя из значения swappiness. Вот параметры которые меня интересовали:

swappiness=60
Выгрузка в своп пойдет когда заполнится более 100-swappiness памяти, т.е. 40% в этом случае.
Для примера 4гб озу + 3гб свопа = 7гб памяти, это значит что подкачка пойдет когда исчерпается более 40% от 7гб(!), т.е. при заполнении озу более чем 2.8 гб.

Что касается второго параметра, который меня интересовал, это zswap.max_pool_percent про который в сети куча разногласий (например на форумах арчи нашел формулу "тюнинга" со значением 1, что оказалось бредом, а в других рекомендациях значения 20, 37, 50, 70 и тд).
zswap.max_pool_percent рассчитывается очень просто, по такой вот средней формуле
((сколько нужно озу/сколько у Вас есть)-1)*100
Т.е. для примера выше это будет где так - пуская для запускаемых приложений нужно 6гб озу, а есть 4гб
Значит ((6/4)-1)*100=50
В таком случае zswap.max_pool_percent=50

Для приведенных выше значений "хочу озу" и "есть озу" приближенные для оптимальной производительности эти параметры должны быть где то такие:
чтобы не забить озу своп должен включится на его исходе, пускай при использовании 3.7гб озу из 4гб. 3.7 это 52% от 7гб
значит 100-52=48, swappiness=48
ну а если нуждаемся в 6гб озу при 4 zswap.max_pool_percent=50

Далее уже считайте под себя. Вещь реально дает комфортно работать с зоопарком приложений. Этот рецепт оценят те, кто работает тяжелой IDE типа шторма, виртуалками и браузером с кучкой вкладок (кстати ходят слухи для firefox не сильно помогает, т.к. он не делит процессы или типа того). В моем случае гугл хром нормально. Очень порадовало что при переключении между приложениями перестала заикаться музыка =)
Настоятельно не рекомендуется использовать эти два параметра со значениями более 90.
Очень надеюсь, что кому-то помог  :)
Тема закрыта.
« Последнее редактирование: 26 Август 2016, 05:43:32 от Nekk »

Оффлайн superguest

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Re: [РЕШЕНО] ZSWAP и swappiness в Ubuntu 16.04
« Ответ #11 : 26 Август 2016, 16:17:12 »
Путем тыка и простых вычислений оказалось, что параметр swappiness при значении 60 будет начинать работу, как и говорилось при заполнении 100-60= 40% памяти, только вот именно что памяти, общей, не ОЗУ как везде написано. Т.е. общая память это ОЗУ+СВОП  :D
Как это?
У вас получается, что писать или не писать своп начинает напрямую зависеть от размеров самого свопа. Глупо, не правда ли?

Оффлайн Nekk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: [РЕШЕНО] ZSWAP и swappiness в Ubuntu 16.04
« Ответ #12 : 26 Август 2016, 19:34:34 »
Путем тыка и простых вычислений оказалось, что параметр swappiness при значении 60 будет начинать работу, как и говорилось при заполнении 100-60= 40% памяти, только вот именно что памяти, общей, не ОЗУ как везде написано. Т.е. общая память это ОЗУ+СВОП  :D
Как это?
У вас получается, что писать или не писать своп начинает напрямую зависеть от размеров самого свопа. Глупо, не правда ли?
Нет, у меня получается что для подстройки работы свопа под свои нужды, значение swappiness зависит от размера озу и свопа. А не только от размера ОЗУ, как в 95% случаев заявляют даже совсем свежие публикации.
На счет глупо - не мне судить. Пробовал, перепроверял с разными размера свопа. Не знаю как на более старых ОС, но на 16.04 и ее аналогах работает именно так, как я написал.
Лично у меня 4 Гб ОЗУ, реальных 3.7 потому что интел графика.
Значит, если смотреть все топики в интернете, и даже на самом ask ubuntu, то при дефолтном swappiness=60, при 3.7 озу, своп должен подключатся когда занятость озу перейдет значение 40% от памяти, что в моем случае равно 3.7/100*40=1,48гб но этого не происходит. Своп при установке указал 3гб, реальных 2.9 вышло. Потому в своп начинает перекидывать когда озу переходит выше 2,64 гб (3.7+2.9=6.6 а 40% от 6.6 это 2.64). При размере свопа в 4 гб включалось после 3.1 (3.7+4=7.7 а 40% это 3,08).
Я до этого не понимал почему по всем "ускорениям" системы при swappiness=10 у меня скидывало в своп пока память полностью не заканчивалась и начинались тормоза. Потому что согласно тому, как это реально работает, это должно произойти на отметке 5.94 (это 90% от 6.6) гб, которых реально нет.
Потому в системах и стоит дефолтное значение 60, так как обычно своп или маленький или равен размерам ОЗУ. Если равен размерам озу, он идеально включится когда будет занято выше 90% реального озу.
Возьмите проверьте.
« Последнее редактирование: 26 Август 2016, 19:38:41 от Nekk »

Оффлайн superguest

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Re: [РЕШЕНО] ZSWAP и swappiness в Ubuntu 16.04
« Ответ #13 : 26 Август 2016, 19:52:39 »
Потому в системах и стоит дефолтное значение 60, так как обычно своп или маленький или равен размерам ОЗУ. Если равен размерам озу, он идеально включится когда будет занято выше 90% реального озу.
Возьмите проверьте.
По вашему получается, если своп равен двум размером ОЗУ, то он не включится никогда, потому как ОЗУ полностью заполненная будет составлять лишь 33%, а 67% будет свободно, в то время как по умолчанию при 60% и более свободной памяти своп не используется?)
« Последнее редактирование: 26 Август 2016, 19:54:59 от superguest »

Оффлайн Nekk

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: [РЕШЕНО] ZSWAP и swappiness в Ubuntu 16.04
« Ответ #14 : 26 Август 2016, 20:14:12 »
Потому в системах и стоит дефолтное значение 60, так как обычно своп или маленький или равен размерам ОЗУ. Если равен размерам озу, он идеально включится когда будет занято выше 90% реального озу.
Возьмите проверьте.
По вашему получается, если своп равен двум размером ОЗУ, то он не включится никогда, потому как ОЗУ полностью заполненная будет составлять лишь 33%, а 67% будет свободно, в то время как по умолчанию при 60% и более свободной памяти своп не используется?)
Именно так. Своп начнет работу принудительно т.к. закончилась ОЗУ.
И уточню, это не по моему, а это так система работает.

 

Страница сгенерирована за 0.063 секунд. Запросов: 24.