Почему я получаю обмен, даже если я установил vm.swappiness в 0?
5444
Horatiu
У меня есть пара серверов CentOS 6.5 x64 с 64 ГБ ОЗУ, на которых работает множество VPS KVM .
Некоторые из этих серверов вообще не используют своп, а некоторые - нет. Я установил swappiness на ноль. Тем не менее, некоторые по-прежнему меняются местами, даже если у них много свободных ГБ в оперативной памяти.
Неисправная * программа - qemu-kvm - VPS - это виртуальные машины KVM.
Это вывод из topупорядоченного путем замены (Op enter):
Теперь, как вы видите, QEMU-KVM обменивается. Ящики работают с последней обновленной ОС. Также обратите внимание, что там много свободной оперативной памяти.
Как я могу полностью предотвратить обмен? Это меня очень раздражает, и это еще более озадачивает, учитывая, что у меня больше таких серверов, а некоторые никогда не меняются местами. Когда-либо.
1 ответ на вопрос
5
vm.swappiness = 0 does not completely prevent swapping. To turn swap off altogether, you could issue the command swapoff -a with root privilege. However, disabling swap completely is generally unsafe -- when a memory-starvation extreme condition hits, the system will probably crash. Also, the swapoff action itself copies from swap (slow) to RAM, therefore it may just as well hit performance as actual swapping.
Despite the apparent "free" memory, the kernel tends to swap out long-inactive and memory -consuming processes. This frees up RAM for caches, thus improves responsiveness. Unless you have real proof of performance degradation, I'd suggest you stop worrying and love the kernel ;)
да, хорошо, учитывая тот факт, что некоторые коробки были предустановлены со свопом 1 Гб, когда этот своп заполняет vps pids убивают. совсем не смешно. Вот почему я создал дополнительный своп в виде файла и добавил к существующему свопу. все еще хочу, что perma не swap, потому что у него есть 20 ГБ оперативной памяти без буфера. Ваше решение было рассмотрено, но я не знаю, насколько это безопасно - делать своп в производстве. некоторые вещи, которые я никогда не рассматривал, могут потерпеть крах. или хуже.
Horatiu 9 лет назад
0
Как упоминалось здесь (https://www.percona.com/blog/2014/04/28/oom-relation-vm-swappiness0-new-kernel/), в современных ядрах vm.swappiness = 0 имеет новое значение; это отключит обмен (в действительности)
ϹοδεMεδιϲ 8 лет назад
2