Warum wechsle ich auch dann, wenn ich vm.swappiness auf 0 gesetzt habe?

5514
Horatiu

Ich habe ein paar CentOS 6.5 x64-Server mit 64 GB RAM, auf denen viele KVM- VPS ausgeführt werden .

Einige dieser Server haben überhaupt keine Swap-Nutzung und einige tun dies. Ich habe den Swappiness auf Null gesetzt. Einige tauschen jedoch immer noch, auch wenn sie viele freie GB im Arbeitsspeicher haben.

Das fehlerhafte * Programm ist qemu-kvm - die VPS sind virtuelle KVM-Maschinen.

Dies wird von topOrder by Swap (Op Enter) ausgegeben :

top - 10:47:31 up 14 days, 1:25, 1 user, load average: 0.05, 0.10, 0.13 Tasks: 325 total, 1 running, 324 sleeping, 0 stopped, 0 zombie Cpu(s): 0.1%us, 0.4%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 65940252k total, 41202572k used, 24737680k free, 9129148k buffers Swap: 5240808k total, 1039544k used, 4201264k free, 10935732k cached  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ SWAP COMMAND 11653 qemu 20 0 1437m 725m 4968 S 0.0 1.1 24:23.56 51m qemu-kvm 4873 qemu 20 0 1451m 743m 4968 S 0.0 1.2 22:32.94 50m qemu-kvm 14265 qemu 20 0 1443m 742m 4968 S 0.0 1.2 27:21.25 47m qemu-kvm 5928 qemu 20 0 1445m 751m 4968 S 0.0 1.2 24:56.82 45m qemu-kvm 11294 qemu 20 0 1436m 718m 5004 S 0.0 1.1 23:35.45 45m qemu-kvm 10016 qemu 20 0 1438m 741m 4968 S 0.0 1.2 24:58.07 45m qemu-kvm 8028 qemu 20 0 1445m 725m 4968 S 0.0 1.1 22:49.86 44m qemu-kvm 13449 qemu 20 0 1439m 738m 5008 S 0.3 1.1 25:49.07 43m qemu-kvm 9065 qemu 20 0 1439m 738m 4968 S 0.0 1.1 22:35.70 41m qemu-kvm 5173 qemu 20 0 1443m 748m 4968 S 0.3 1.2 24:57.27 41m qemu-kvm 6833 qemu 20 0 1445m 735m 4968 S 0.3 1.1 24:43.94 40m qemu-kvm 12901 qemu 20 0 1447m 754m 4968 S 0.7 1.2 26:46.74 39m qemu-kvm 12508 qemu 20 0 1435m 737m 4968 S 0.0 1.1 24:07.60 37m qemu-kvm 8197 qemu 20 0 1449m 752m 4968 S 0.0 1.2 23:15.54 37m qemu-kvm 7394 qemu 20 0 1444m 745m 5008 S 0.3 1.2 22:20.29 36m qemu-kvm 7783 qemu 20 0 1435m 739m 4996 S 0.0 1.1 24:02.63 36m qemu-kvm 14733 qemu 20 0 1448m 753m 5000 S 0.3 1.2 28:58.61 35m qemu-kvm 14323 qemu 20 0 1448m 750m 4968 S 0.0 1.2 26:02.34 35m qemu-kvm 9381 qemu 20 0 1426m 728m 4968 S 0.0 1.1 23:27.13 35m qemu-kvm 5472 qemu 20 0 1443m 743m 4968 S 0.3 1.2 22:14.22 35m qemu-kvm 13293 qemu 20 0 1428m 727m 4968 S 0.0 1.1 24:51.03 34m qemu-kvm 11697 qemu 20 0 1449m 756m 4968 S 0.0 1.2 24:46.59 33m qemu-kvm 4566 qemu 20 0 1432m 747m 5008 S 0.0 1.2 23:28.19 30m qemu-kvm 9752 qemu 20 0 1439m 743m 4968 S 0.3 1.2 22:56.10 30m qemu-kvm 6533 qemu 20 0 1438m 747m 4968 S 0.0 1.2 22:38.61 30m qemu-kvm 6234 qemu 20 0 1418m 724m 4968 S 0.3 1.1 23:14.90 28m qemu-kvm 1 root 20 0 19232 1524 1232 S 0.0 0.0 0:02.86 0 init 

Nun, wie Sie sehen können, ist qemu-kvm ein Tausch. Die Boxen führen das neueste aktualisierte Betriebssystem aus. Beachten Sie auch, dass dort viel freier Arbeitsspeicher zur Verfügung steht.

Wie kann ich das Tauschen vollständig verhindern? Es ärgert mich sehr und es ist noch verwirrender, wenn ich mehr Server wie diese habe und manche nie tauschen. Je.

2

1 Antwort auf die Frage

5

vm.swappiness = 0verhindert nicht vollständig das Tauschen. Um Swap vollständig zu deaktivieren, können Sie den Befehl swapoff -amit Root-Berechtigung ausgeben . Das vollständige Deaktivieren des Swap-Vorgangs ist jedoch im Allgemeinen unsicher. Wenn ein extremer Zustand mit starkem Speichermangel auftritt, wird das System wahrscheinlich abstürzen. Außerdem swapoffkopiert die Aktion selbst von Swap (langsam) in den RAM-Speicher. Daher kann die Leistung ebenso beeinträchtigt werden wie das tatsächliche Swapping.

Trotz des scheinbar "freien" Speichers tendiert der Kernel dazu, lang inaktive und speicherintensive Prozesse auszutauschen. Dadurch wird RAM für Caches freigegeben, wodurch die Reaktionsfähigkeit verbessert wird. Wenn Sie keinen echten Beweis für die Beeinträchtigung der Leistung haben, würde ich vorschlagen, dass Sie aufhören, sich Sorgen zu machen und den Kernel lieben.

ja, gut, in Anbetracht der Tatsache, dass einige Boxen mit 1-GB-Swap vorinstalliert waren, wenn dieser Swap vps-Pids füllt, die getötet werden. überhaupt nicht lustig. Deshalb habe ich einen zusätzlichen Swap als Datei erstellt und den vorhandenen Swap hinzugefügt. Ich möchte immer noch ein Perma-No-Swap, da 20 GB RAM-Puffer frei sind. Ihre Lösung wurde in Betracht gezogen, aber ich weiß nicht, wie -safe- es ist, die Produktion umzustellen. Einige Dinge, die ich nie in Betracht zog, könnten abstürzen oder schlimmer. Horatiu vor 9 Jahren 0
Wie hier erwähnt (https://www.percona.com/blog/2014/04/28/oom-relation-vm-swappiness0-new-kernel/), hat vm.swappiness = 0 in modernen Kerneln eine neue Bedeutung; es wird das Tauschen abschalten (wirksam) ϹοδεMεδιϲ vor 8 Jahren 2