У меня: vm.swappiness = 1
как предлагается здесь , чтобы предотвратить использование Swap, когда имеется много доступной памяти.
(0 полностью отключит свопинг, насколько я понимаю)
В частых случаях я использую, скажем, 5 ГБ подкачки (всего 16 ГБ),
пока у меня 9 ГБ свободной доступной памяти (всего 32 ГБ)
(свободно только 1 ГБ, если считать кешированную RAM.)
Поскольку мое приложение начинает работать медленнее (поскольку большая часть Swap-файла исходит от MariaDB), я запускаю:
swapoff -a
swapon -a
И вся память подкачки перемещается в основную RAM.
В итоге у меня остается 5,6 ГБ доступной оперативной памяти, 4 ГБ, если считать кешированным.
Нет очевидной причины иметь такой большой объем Swap.
Я занимаюсь этим вопросом и не могу найти способ предотвратить использование Swap, когда он не нужен.
vm.swappiness = 1
определенно "постоянно сохраняется", так как он находится в файле sysctl.conf , и были перезагрузки и т. д.
Я не хочу отключать своп, но я могу придумать единственный обходной путь:
Но это ОЧЕНЬ рискованно, и я бы хотел, чтобы ОС была достаточно умной, чтобы справиться с этим лучше!
Нет абсолютно никакого способа ] использовать своп только тогда, когда это абсолютно необходимо ?
У вас много чего работает на сервере? Если это так, возможно, стоит рассмотреть выделенную машину или виртуальную машину для БД.
Это физический или виртуальный/облачный сервер? Некоторые облачные провайдеры НЕ хотят, чтобы вы вообще использовали своп (поэтому просто укажите это, если это актуально): https://docs.rackspace.com/support/how-to/swap-space-on -cloud-servers/
На этой странице есть хорошее обсуждение по устранению неполадок подкачки для MySQL или MariaDB — возможно, проверьте раздел NUMA ближе к концу: https://fromdual.com/do-not-underestimate -performance-impacts-of-swapping-on-numa-database-systems
Этот вопрос и ответ на сайте MariaDB приводит к настройкам чередования NUMA в качестве возможного решения: https://mariadb.com/kb/en/swap-usage-wont-decrease/
Много дискуссий о памяти и MariaDB: https://mariadb.com/kb/en/mariadb-memory-allocation/
А это официальное видео на YouTube для NUMA :-D https://youtu.be/KmtzQCSh6xk
Пожалуйста, проголосуйте за этот ответ / примите его, если он полезен. Спасибо.