Попалась на глазе интересная статья(перевод) про полезность swap в Linux и потенциальных проблемах его отключения: В защиту swap’а [в Linux]: распространенные заблуждения
Эта заметка чисто для себя, с целью фиксации основной мысли автора:
Есть анонимная память(Anonymous Memory) которую можно вытеснить на диск при низкой активности ее использования и высвободить тем самым место для файлового кеша(Page cache). Да, создаётся нагрузка на диск при сбросе в swap но при этом поднятый в память кеш, при активном его использовании может сильно снизить нагрузку на диск и повысить производительность системы в целом.
Или сказанное выше но другими словами. Если swap не используется то мало используемая Анонимная память тупо занимает место в RAM и для кеша который мог бы использоваться активно остаётся меньше места — следовательно больше используется диск т.к. данные не в кеше.
Вывод — без сапа нагрузка на диск может быть выше чем с ним.
Откровенно говоря, я всегда считал что swap это зло и делал так, что бы он использовался меньше. Но эта маленькая деталь которая почему то никогда не приходила мне в голову стала для меня озарением)
Собственно рекомендации простые.
До Linux kernel 4.0 много swap чаще плохо из-за не оптимальной работы kswapd. После 4.0 много swap иметь безопасно если вы можете себе это позволить. Ну а в целом нужен мониторинг каждой конкретной конфигурации на протяжении какого то времени и уже по результатам мониторинга нужно выбрать размер swap равный максимально задействованному плюс немного с запасом.
Помогла ли вам статья?