Was genau bedeutet der Standard swappiness Wert von 60? Wenn auf der Hardware 60 % RAM ausgelastet ist benutzten die VM´s für die Auslagerungsdatei den SWAP memory oder bereits ab 40 %?
Nein, das hat nichts mit Prozenten zu tun. Das ist kein Wert den man fix nehmen kann. Bei einem Wert von 1 wird nur sehr selten ausgelagert und bei einem wert von 100 sehr viel ausgelagert. Wenn du also weniger auslagern willst solltest du den wert immer weiter verringern bis dir das passt.
Ist es Ratsam KSM sharing zu aktivieren?
Hängt vom Anwendungsfall ab. Ich habe 64GB RAM und KSM spart bei mir so 9-11GB RAM durch Deduplikation ein. Deduplikation geht aber auf die Leistung und bringt auch eher etwas, wenn du sehr viele gleiche VMs betreibst und kein RAM mehr ausbauen kannst. Bei mir sind z.B. alle VMs mit Debian ausgestattet, daher sollten deren RAM-Daten ähnlich aussehen und sich gut deduplizieren lassen. KSM startet bei Standardeinstellung erst ab 80% RAM-Auslastung. Im Gegensatz zum Swap kann man dort aber fixe Werte einstellen. Ich habe das KSM z.B. so eingestellt, dass das schon bei 60% RAM-Auslastung startet, weil mein RAM eigentlich immer über 60% ausgelastet ist und das KSM so immer aktiv bleibt. Da KSM dann bei mir immer läuft geht das dann eigentlich mit der Auslastung der CPU und RAMs, da es permanent wenig macht. Problematisch war das bei 80%, da es dann erst über 80% einsetzt, dann 1 Minute lang dedupliziert (egal ob es bereits unter 80% ist oder nicht) und massig auf einmal ausbremst. Dann ist wegen dem Deduplizieren der RAM runter auf 75% oder so gefallen und KSM geht wieder aus. Dann ist 15 Minuten Ruhe bis die 80% wieder überschritten werden und dann geht der Spaß von vorne los. Diese Spikes haben dann schon etwas ausgebremst, aber das lässt sich wie gesagt vermeiden, wenn man den Aktivierungswert einfach weit genug senkt.
Muss man mit
nano /etc/ksmtuned.conf
die KSM Config editieren und dort die Zeile
KSM_THRES_COEF=20
auskommentieren. "20" meint in dem Fall der RAM der Frei sein soll, also 80% Auslastung. Für 60% RAM-Auslastung dann also z.B. auf "40" setzen.
Und kann der SWAP Memory im laufenden Betrieb ohne Auswirkung auf die VM´s "gelöscht" werden oder muss ein Neustart erfolgen?
Mit "swapoff -a" kannst du den Swap deaktivieren. Dann wird der Swap geleert und bleibt leer bis du den Rechner neustartest. Willst du den Swap ganz deaktivieren musst du das z.B. auch in der fstab austragen, falls da deine Swappartition hinterlegt ist.
Falls dein Rechner so viel auslagert, weil dein RAM ständig voll ist, solltest du mal gucken ob du den ARC limitiert hast, falls du ZFS benutzt. ZFS nutzt standardmäßig 50% deines RAMs als Cache.