Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Как навсегда установить Swappiness в 0 на Proxmox 9

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Как навсегда установить Swappiness в 0 на Proxmox 9, Proxmox Виртуальная Среда
     
    Ralf Wolbers
    Guest
    #1
    0
    04.09.2025 18:21:00
    В Proxmox 8.4 следующие две команды навсегда устанавливают swappiness в 0:  
    sysctl -w vm.swappiness=0  
    echo "vm.swappiness=0" | tee -a /etc/sysctl.conf  
    Значение остаётся 0 после перезагрузки. В Proxmox 9 этого не происходит — после перезагрузки снова стоит 60.
     
     
     
    BloodyIron
    Guest
    #2
    0
    06.02.2026 18:19:00
    Люди запоминают информацию через повторение, а ссылки на предыдущие части той же статьи делаются для лучшего понимания. И да, я знаю, что упоминался ZRAM, но это совсем не отменяет того, о чём я говорю, и того, что изложено в статье.
     
     
     
    Johannes S
    Guest
    #3
    0
    06.02.2026 18:38:00
    Повторение не улучшает аргумент. Возможно, я что-то пропустил, но насколько я вижу, ни один из твоих доводов не опровергает точку зрения Крисса Даунса о том, что современные ядра Linux используют своп для управления памятью, и без свопа «управление памятью становится сложнее» (Chris Downs https://chrisdown.name/2018/01/02/in-defence-of-swap.html). Потенциальные проблемы с производительностью и износом, связанные с физическим свопом, легко решаются с помощью zram, и при этом zram не нужно делать большим.
     
     
     
    BloodyIron
    Guest
    #4
    0
    06.02.2026 18:46:00
    Статья, как и все моменты, поднятые в этой теме, чётко объясняют, какие затраты накладывает использование swap на производительность и износ железа при повседневной работе. Я не понимаю, как это могло ускользнуть от внимания, ведь в статье это очень подробно расписано. Там даже есть раздел под названием «Примеры чисел, показывающие масштаб», где наглядно демонстрируется влияние на производительность в разных сценариях. Я написал эту статью из-за огромного количества заблуждений, неправильных представлений и, честно говоря, невежества касательно реальных последствий постоянного хранения данных в swap. Чтобы внести ясность: я _НЕ_ призываю отключать swap, а говорю о том, чтобы _НЕ_ использовать swap для постоянного хранения данных в повседневной работе. Swap — это по определению данные _на диске_, и это, во-первых, увеличивает износ соответствующего диска, во-вторых, снижает производительность при работе с этими данными, и в-третьих, избыточно, потому что эти данные, скорее всего, уже хранятся на диске в другом месте. Правильное решение — увеличить объём оперативной памяти и грамотно подобрать конфигурацию систем для окружающей среды, что я также чётко описал _в этой теме_, но, похоже, это просто намеренно игнорируется. Я сделал всё очень удобно и подробно объяснил, почему использовать swap — плохая идея. Это не моя проблема, если вы не читаете мои аргументы или просто отмахиваетесь от них по какой-то причине. Я работаю с такими системами на разных масштабах (а также с другими гипервизорами и операционными системами) уже десятки лет. Я лично видел ощутимые преимущества правильной настройки и подбора систем, которые не зависят от swap в том смысле, о котором я говорю. Статья 2018 года не отменяет мой практический опыт и экспертность в этом вопросе. Ещё раз: я написал статью и высказываюсь здесь, потому что вокруг много недостоверной информации, так или иначе. Изначальный вопрос, на который я отвечал, был: «Зачем это делать? Ведь у swap есть свои плюсы, даже на хостах с более чем достаточным объёмом памяти», и я более чем полно ответил на него. Делайте с этой информацией что хотите. А я пойду сделаю так, чтобы среды работали идеально, а если кто-то хочет неправильно использовать swap и ресурсы процессора с zram — пожалуйста, создавайте мне больше работы для консультаций. Мне нравится.
     
     
     
    Johannes S
    Guest
    #5
    0
    06.02.2026 19:45:00
    Вы предполагаете, что люди используют физический swap, тогда проблема производительности и износа действительно существует. Но это не относится к использованию (довольно небольшого) zramswap-устройства как своего рода виртуального swap, чтобы система управления памятью ядра могла делать своё дело.

    Правка: теперь я вижу, что вам уже об этом говорили раньше: https://forum.proxmox.com/threads/zram-why-bother.151712/

    Если вы всё ещё думаете так же (что, судя по всему, и есть), это ваше право. Но для автора темы @Ralf Wolbers и других заинтересованных стоит прочитать аргументы из той ветки, где люди не соглашались с вашими выводами, чтобы сформировать собственное мнение.
     
     
     
    alexskysilk
    Guest
    #6
    0
    06.02.2026 20:16:00
    Своп следует использовать очень осторожно или вообще не использовать на сервере. Если вы работаете в условиях ограниченной памяти, это приведёт к непредсказуемой работе приложений. Я вообще не настраиваю своп на сервере. Если вижу ошибки OOM, то либо перемещаю виртуальные машины, либо добавляю оперативной памяти.
     
     
     
    LnxBil
    Guest
    #7
    0
    07.02.2026 09:43:00
    Что здесь не упоминается, так это то, что просто мониторить использование swap — это не так эффективно, как отслеживать активность swap in и swap out. Это важно, потому что если вы только загружаете данные в swap (swap in), но быстро их не читаете обратно, то это уже не так критично. Много операций swap in / swap out говорит о том, что у вас либо не хватает памяти, либо система неправильно настроена, и тогда она будет тормозить, а диски быстрее изнашиваться.

    На большинстве моих систем я использую сочетание swappiness=1, zram как первый уровень swap, и, если нужно и есть возможность, второй — на диске. Полностью избавиться от свопа не удалось, и он происходит чаще всего в контейнерах. Им иногда просто не хватает выделенной памяти, и они начинают свопиться — возможно, у вас были похожие ситуации.

    PS: вот пример:

    Код:
    root@proxmox ~ > uptime  
    09:43:52 up 46 days, 14:27, 14 users, load average: 0.35, 0.45, 0.56  
     
    root@proxmox ~ > free -m  
                 total        used        free      shared  buff/cache   available  
    Mem:          64150       16178       43820         884        6325       47972  
    Swap:          9638         171        9467  
     
    root@proxmox ~ > cat /proc/swaps  
    Filename                                Type            Size            Used            Priority  
    /dev/nvme0n1p2                          partition       5676028         0               -2  
    /dev/zram0                              partition       4194300         175616          
     
    root@proxmox ~ > sysctl -a | grep swap  
    vm.swappiness = 1
     
     
     
    Impact
    Guest
    #8
    0
    07.02.2026 10:35:00
    Я немного писал про мониторинг SWAP здесь. Если вы в любом случае используете SWAP на диске, я бы рекомендовал ZSWAP. Учтите, что swapon — это, по сути, "читаемая человеком" версия cat /proc/swaps, а с помощью sysctl vm.swappiness можно обойтись без пайпа и настроить параметр напрямую.
     
     
     
    BloodyIron
    Guest
    #9
    0
    09.02.2026 20:40:00
    В моих многолетних исчерпывающих тестах и для Windows, и для Linux характерно то, что они ненадёжно возвращают данные из swap обратно в оперативную память. Именно поэтому я не просто отслеживаю любое использование swap на важных для меня системах (и ставлю оповещения, если использование swap превышает 10%), но и регулярно отключаю и снова включаю swap на большинстве своих систем (преимущественно в виртуальных машинах). Так они обычно сами восстанавливаются после случайного срабатывания свапа. Если swap используется слишком долго, я получаю предупреждение, и, как показывает опыт, это надёжный сигнал «что-то не так, человек, пора действовать!». Я бы обращал внимание на свопинг, если бы это был действительно надёжный механизм, но по моему опыту работы с разными Linux-системами разных размеров и поведения, я не уверен, что могу рассчитывать на swap для планируемых операций. Поэтому и существуют ручные задачи по очистке swap и оповещения, если это не удаётся сделать вовремя.
     
     
     
    BloodyIron
    Guest
    #10
    0
    09.02.2026 20:43:00
    Из моего опыта, использование свопа на диске (или разделе) — не самый лучший вариант. Я говорю не про производительность, а скорее с точки зрения администрирования системы. Обычно я конвертирую все свои системы с раздела/диска на своп в виде файла на диске. Вот почему... При свопе на разделе или диске, чтобы изменить его размер (в любую сторону), обычно нужно полностью выключить систему, если только вы не готовы к полной сумасшедшине и не хотите изменять размеры разделов прямо «на ходу» (например, пока ОС смонтирована). Когда мне нужно изменить размер разделов, я предпочитаю пользоваться gparted в живой среде Ubuntu Desktop. Но при свопе в виде файла на диске вы можете изменить размер свопа в любое время без перерыва в работе системы. Просто отключаете своп, создаёте новый своп-файл нужного размера, включаете своп — и всё готово, снова в деле. Хотел просто поделиться мыслями с вами.
     
     
     
    BloodyIron
    Guest
    #11
    0
    09.02.2026 20:46:00
    Своп всегда существует на диске в той или иной форме. Дисковое пространство виртуальной машины — это буквально диск где-то там, будь то NAS, SAN, кластер Ceph или даже локальный LVM. Всё это хранилище базируется на SSD, HDD, NVMe или каком-то другом физическом носителе, потому что именно там хранится постоянное хранилище. Windows и Linux используют то же хранилище, что и ВМ, для своего свопа — это 100% надёжное утверждение, потому что так это работает на самом деле. ZRAM — это не своп, это сжатая оперативная память; если вы используете ZRAM в качестве «свопа», то вы буквально используете оперативку для оперативки во время работы с оперативкой, думаю, xzibit с удовольствием бы с этим пообщался. Своп, по определению, — _не_ ОЗУ, потому что его назначение (по задумке) — быть запасным буфером, когда ОЗУ заканчивается (в Windows и Linux). Конечно, вы _МОЖЕТЕ_ разместить своп на ramdisке или, как вы говорите, на ZRAM, но почему бы тогда сразу не использовать оперативку для... оперативных функций? Это не имеет большого смысла. Ещё, если вы собираетесь «уличать меня» в другом обсуждении, сделайте себе и мне одолжение — действительно прочитайте последний комментарий в той теме... он от меня, там многое проясняется и есть поддержка. Не стоит уличать меня спустя рукава. К тому же, вы буквально ставили «лайк» моим последним двум комментариям в той теме, так что... не понимаю, на что вы вообще пытаетесь указать.
     
     
     
    Impact
    Guest
    #12
    0
    06.02.2026 18:17:00
    Выше упоминался ZRAM. Статья по вашей ссылке кажется «раздутой», потому что много повторяется.
     
     
     
    LnxBil
    Guest
    #13
    0
    08.02.2026 12:53:00
    smem отлично подходит для таких вещей, dstat тоже справляется. Обычно я не слежу за хостами лично, я использую telegraf, и там тоже есть показатели по swap in/out.
     
     
     
    BloodyIron
    Guest
    #14
    0
    06.02.2026 17:36:00
    Есть много причин не использовать swap в повседневной работе и относиться к нему как к крайнему ресурсу. На эту тему я даже написал статью: https://it.lanified.com/Articles/Youre-Using-Swap-Memory-Incorrectly. Но в случае с PVE-ноду ситуация такова: все данные в swap, как и в любой другой ОС (Windows, Linux и т.д.), не находятся в оперативной памяти, а лежат на диске. Это значит, что:

    - На диск ложится повышенная нагрузка, которая могла бы быть и не нужна.
    - Работа с этими данными медленнее, потому что они теперь хранятся на диске, а не в ОЗУ (о чём как раз и говорится в статье).
    - Используется то, что должно быть аварийным буфером, как временное решение вместо устранения коренной проблемы.
    - Системы, зависящие от данных в swap, тормозят, так как данные не находятся в RAM.

    Я работаю с кластерами Proxmox VE больше 13 лет и ни разу не столкнулся ни с чем, кроме плюсов при выставлении vm.swappiness в 0, при этом сохраняю небольшой объем swap для экстренных случаев. Также инструменты вроде zram — это очередной «пластырь», который просто перераспределяет нагрузку на CPU, отодвигая реальное решение проблемы.

    Как выглядит правильный подход? Вот несколько пунктов:

    - Убедитесь, что у вас есть достоверные метрики со всех систем, чтобы принимать обоснованные решения. Встроенный веб-интерфейс PVE ужасно неточен для оценки использования RAM _внутри_ виртуальных машин, но отлично показывает использование памяти каждого PVE-нода. В одном из моих окружений мы используем libreNMS и получаем данные через SNMP, но можно использовать и другие инструменты — Grafana, Prometheus и так далее. Без точных метрик вы не сможете принимать правильных решений.
     
    - Проверьте реальное потребление RAM каждой виртуальной машины и контейнера. Я сталкивался с множеством случаев, когда одни ВМ (Windows и Linux) были сильно переоснащены памятью, а другим её не хватало. Оценивать это лучше по метрикам из первого пункта, где есть исторические данные — так вы увидите, сколько памяти реально требуется системе, ведь у одних нагрузка на RAM меняется с течением времени, у других — нет.

    - Выключите RAM ballooning — он приносит больше проблем с производительностью и вместимостью, чем вы думаете. Windows и Linux не умеют нормально освобождать память через ballooning, поэтому эта функция фактически не работает для уменьшения использования памяти. Плюс на узле гипервизора расходуются ресурсы на управление ballooning для каждой ВМ, что негативно сказывается на производительности. Выключив ballooning, вы получите более предсказуемую ёмкость и избавитесь от невидимой проблемы с производительностью.

    После того как вы правильно оцените потребности всех ВМ и контейнеров в RAM, можете решать — стоит ли докупать память. До недавнего времени RAM была очень дешёвой. Не знаю, когда рынок RAM станет «здоровым», но для примера предположим, что цены нормальные. Если при этом у вас всё ещё не хватает памяти — ПРОСТО УСТАНАВЛИВАЙТЕ ЕЁ БОЛЬШЕ. RAM дешевая и быстрая, а диск (swap) — медленный и изнашивается.

    Ещё пару мыслей: у меня настроены E-Mail оповещения, если _любая_ из моих систем (физических или виртуальных) использует более 10% swap, так как это обычно сигнал о проблемах ещё до того, как они проявились. Также все мои Linux-виртуалки и рабочие столы периодически «чистят» swap, потому что она действительно может причинять немало проблем. Но я всегда хочу видеть swap на месте (кроме k8s-нод, но причины рассказывать не буду), чтобы, если вдруг что-то совсем пойдёт не так, система могла им воспользоваться.

    Я буквально больше десяти лет изучаю swap в Windows и Linux, и вокруг этой темы много мифов и недопониманий.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры