LINUX.ORG.RU

swapiness

 ,


0

1

Подскажите пожалуйста. Вот по дефолту в десктопных дистрах стоит сваппинесс 60, где-то пишут, что на десктопе, если оперативки хватает, то при значении 10, система работает лучше, подразумевается что значение 60 универсально, для серверных решений и десктопа.

ОДНАКО, вот есть мнение человека, и поскольку это мейнтейнер ядра, я думаю оно обоснованное и имеет место. Только я не врубаюсь почему. Объясните плюсы от свапинесс 100 на десктопе?

Вообще интересует мнение и про случай со значением 10 и 100

цитаты

Kernel maintainer Andrew Morton has said that he runs his desktop machines with a swappiness of 100, stating that «My point is that decreasing the tendency of the kernel to swap stuff out is wrong. You really don't want hundreds of megabytes of BloatyApp's untouched memory floating about in the machine. Get it out on the disk, use the memory for something useful.»

.

Перемещено leave из talks

Печаль... А по теме: читни для чего оно. Потом читни по значениям. На локальном я свап вырубаю в ядре ;) Так что мне это значения «по коленце».

Памяти хватит всем! (аж на 3-4 прикладухи на электроне).

Deleted
()

Нет никаких универсальных решений, всё индивидуально. Уверен, в треде будет много разных мнений.

r3lgar ★★★★★
()

Может чел переключается между блокнотом и консолькой раз в 2-3 дня, ему комфортно подождать, не хуже, чем ежедневная загрузка.

bender ★★★★★
()

Во-первых, ИМХО, зависит от того, hdd у тебя или ssd. Если ssd и ты не веришь страшилкам про износ, то, вероятно, имеет смысл выставить swapiness побольше.

поскольку это мейнтейнер ядра, я думаю оно обоснованное и имеет место.

А может он на десктопе шindows использует.

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

Один из местных действительно живёт в лесу.

Да тут и баба-яга, ой простите, веган(ка) живет, так что я ни капельки не удивлен.

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

Да и уж что далеко за примерами ходить, вот ты Фрактал, вроде в Казакстане (оскорбительное написание намерено) живешь, а всё за жизнь в Рассеюшке переживаешь. Думаешь, оно нормально?

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

Я? Фрактал? Это тот, который на лолях специализировался?

te111011010
()

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

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

Думаю, стоит по-меньше читать статьи о серебренных пулях, которые исправят значения дураков-разработчиков и ваша система мгновенно покажет прирост скорости +200%. :)

atrus ★★★★★
()

Англицкая википедия предельно ясна на этот счёт:

https://en.wikipedia.org/wiki/Swappiness

Если сваппинс 100, то в свап будет улетать всё что можно, как можно быстрее и при любой возможности, если он ноль, то в свап пойдёт память только тогда, когда физическая память ззакончится вот прям совсем. Если памяти достаточно, не вижу смысла не выкрутить свапинс на минимум, (что я и сделал).

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

Да веганов полно, иначе бы не было веганских кафе и магазинов на каждом углу.

te111011010
()

Ставь swapiness=90. Подводных камней нет, браузер течёт в своп, все счастливы и улыбаются.

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

Иначе всё будет зависать когда памяти внезапно перестанет хватать и ядро начнёт судорожно искать чего же можно скинуть на диск. Ну и кроме того занимать память ненужным мусором, когда её можно использовать под те же кэши? Очень актуально при больших объёмах памяти. А вот своп файл больше 25% от объёма оперативной памяти не стоит ставить, если только ты не настраиваешь гибернацию в него.

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

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

Nuna
()

Возьмем две крайности:

1) Сервер, на котором крутится фиксированный набор сервисов и вся память достаточно строго расписана по работающим процессам;

2) Домашний или девелоперский десктоп, на котором запускаются весьма разные задачи с разными потребностями в памяти. При этом, сброс в swap анонимной памяти задачи, которую вы сейчас не пользуете, не так уж и страшен.

В первом случае понятно, что сбрасывать анонимную память в swap без лишней необходимости не имеет смысла — объем оперативной памяти сервака выбирался с учетом его назначения и предполагаемой нагрузки и своппинг будет тормозить работу сервисов. Здесь swappiness должен быть поменьше.

Во втором случае хочется, чтобы задачи стартовали побыстрее — ждать каждый раз, чтобы многомегабайтные программульки закачивались из файловой системы не очень приятно. Всякие иконки и другие десктопные файлы должны болтаться в кэше. Ну и прочие файлы, с которыми вы работате, тоже желательно держать в кэше. Ну, т. е., приоритетность файлового кэша на десктопе как правило повыше, чем на сервере. Отсюда и swappiness=100, что уменьшает вероятность сброса полезных файлов из кэша.

vinvlad ★★
()

Цитата: https://chrisdown.name/2018/01/02/in-defence-of-swap.html

First, it’s important to understand what vm.swappiness does. vm.swappiness is a sysctl that biases memory reclaim either towards reclamation of anonymous pages, or towards file pages. It does this using two different attributes: file_prio (our willingness to reclaim file pages) and anon_prio (our willingness to reclaim anonymous pages). vm.swappiness plays into this, as it becomes the default value for anon_prio, and it also is subtracted from the default value of 200 for file_prio, which means for a value of vm.swappiness = 50, the outcome is that anon_prio is 50, and file_prio is 150 (the exact numbers don’t matter as much as their relative weight compared to the other).

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

Во-первых, ИМХО, зависит от того, hdd у тебя или ssd.

На SSD своппинг вообще не чувствуется. Надо будет и шиндовс на отдельный твердотельник закинуть.

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

только что прочитал статью на хабре «В защиту swap'а [в Linux]: распространенные заблуждения» (перевод) где утверждается: - Swap нужен не столько для срочного получения памяти, сколько для ровного и эффективного высвобождения памяти. - важно понимать, что делает vm.swappiness. Это системная настройка (sysctl), смещающая высвобождение памяти в сторону анонимных страниц или файловых страниц. Для реализации используются два разных атрибута: file_prio (стремление высвобождать файловые страницы) и anon_prio (стремление высвобождать анонимные страницы). vm.swappiness обыгрывает эти атрибуты, становясь значением по умолчанию для anon_prio и вычитаясь из стандартного значения 200 в file_prio, то есть vm.swappiness = 50 равносильно значению anon_prio в 50 и file_prio в 150 (точные числа не играют роли — важен их вес относительно друг друга).

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

т.е. vm.swappiness это не «выгружать страницы в своп при заполнении ХХ% RAM»

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

Удваиваю, 100 + zswap творят чудеса.

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

потому, что оно так в стародавние времена работало.
а, ну и потому, что раз от нуля до ста, никому сразу в голову и не придёт что это веса.

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

Советую все-таки почитать статью. И комментарии к ней. Старые советы swap=2xRAM уже не актуальны, но 2-3 ГБ swap для любой системы не помешают. А для гибернейта всё равно нужен своп в размере RAM.

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

Какой долбёж в очко, маня? Ты всерьёз предлагаешь чистить память перед хибернацией, потому что иначе может в раме+свопе суммарно оказаться больше, чем свопа?! У лялипса и так с засыпанием куча проблем, ибо любая ядрёна хрень может заглючить и сказать, что засыпать щяс нельзя, потому что она ещё занята. А юзеру этих проблем не надо, особенно если юзеру надо срочно усыпить ноут и куда-то бежать. Многие вообще усыпляют систему путём закрытия крышки, а теперь смотри кейс: юзер закрыл крышку, ноут должен был уснуть, но не уснул, пыхтит кулером где-то в сумке, тщетно пытаясь охладиться, вдобавок к этому трясётся включённый винт, которому включённым быть при переноске нежелательно. Последствия могут быть самыми плачевными.

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