Soluzione 1:
Raccomanderei di consentire al normale controllo della memoria di Linux di scambiare le cose che vengono effettivamente utilizzate, man mano che vengono utilizzate.
L'unica cosa che riesco a pensare è disattivare lo scambio, quindi riattivarlo
sudo swapoff -a
sudo swapon -a
Ciò presuppone che tu abbia abbastanza memoria fisica di riserva per contenere tutto in swap...
Soluzione 2:
Puoi sintonizzarlo echeggiando un numero compreso tra 0 e 100 in /proc/sys/vm/swappiness
.
Questo controllo è usato per definire quanto aggressivamente il kernel scambierà le pagine di memoria. Valori più alti aumenteranno l'aggressività, valori più bassi diminuiranno la quantità di scambio . Un valore pari a 0 indica al kernel di non avviare lo scambio fino a quando la quantità di pagine libere e supportate da file non è inferiore all'high water mark in una zona.
Il valore predefinito è 60.
Soluzione 3:
Linux fa un ottimo lavoro gestendo la memoria e non dovresti ostacolarlo. L'impostazione vm.swappiness (menzionata in precedenza) non si frappone. È più probabile che tu abbia problemi strani facendo le cose in altro modo.
Cosa hai lanciato che era così affamato di memoria? Può essere sintonizzato? Se non ha le proprie direttive sul limite di memoria, puoi guardare anche ulimit.
Soluzione 4:
Se hai la memoria disponibile per tutte le tue applicazioni, va bene impostare lo swappiness su 0 in modo che le cose non vengano scambiate. Ad esempio, qemu-kvm è un grande obiettivo che VMM deve essere sostituito, perché "sembra" essere inattivo per la maggior parte del tempo. Ho visto che fino all'80% della memoria di una memoria qemu-kvm viene scritta per lo scambio. Le macchine virtuali in esecuzione in qemu-kvm diventeranno quasi insensibili perché stanno esaurendo lo scambio (sebbene l'ospite non abbia idea che ciò stia accadendo). La macchina virtuale ospite penserà che stia funzionando in modo eccellente, anche se in realtà si sta trascinando terribilmente. Quando un gruppo di macchine virtuali si "sveglia" e inizia a fare le cose, può aumentare la media del carico fino a oltre 30, anche su hardware di livello aziendale con ampia memoria e disco veloci. Immagino che questo sia un errore nel design predefinito di qemu-kvm.
Spero che questo aiuti qualcuno.