Am avut un caz interesant. Un server cu 64 GB RAM, dintre care erau utilizați doar 10, a început să utilizeze activ swap-ul. Din această cauză serverul lucra greu.

Din ce cauză totuși folosea swap-ul dacă avea memorie berechet?

Este o opțiune care se cheamă swappiness (cât de preferabil este ca sistemul să folosească swap-ul în loc să șteargă cache-ul vechi). În majoritatea sistemelor această proprietate e setată la 60 (din 100). E mai mult de jumătate, ceea ce înseamnă că odată ce cache-ul va umple memoria de RAM, sistemul va începe să folosească swap-ul în loc să curețe elementele vechi din cache.

Pentru sistemul meu, eu am setat această valoare la 0 (adica sistemul va swăpui doar ca să nu facă eroare de OOM, adica doar când nu mai poate elibera memorie operativă).

Cum am setat:

echo 0 > /proc/sys/vm/swappiness vi /etc/sysctl.conf # adaugati urmatorul rand: vm.swappiness = 0

După asta, eliberați swap-ul și activați-l din nou:

swapoff -a # (asigurați-vă că aveți mai multă memorie cache-uită decât swap utilizat (free -m)) swapon -a

Dacă credeți că aveți probleme cu memoria în linux, verificați și această pagină: http://www.linuxatemyram.com/