Loading...

Forzare l'utilizzo della ram come swap e velocizzare linux


Mi sono sempre chiesto, ma nel caso un pc abbia piu' di 2 gb magari 4 o 8 gb perche' e a cosa serve la partizione di swap ?

Ci sono calcoli piu' o meno semplici, regole trovate qua e la' in web ognuno dice la sua e non si capisce chiaramente come ci si debba comportare....

La mia esperienza mi consiglia di tenere in fase di installazione una swap almeno doppia della ram nel caso in cui questa sia <= 2gb ma se superiore allora vedo che basta anche di dimensione pari alla ram o al limite equivalente alla formula  RAM * 0.5

Ricordate che Linux mette i processi cosiddetti dormienti in swap ma la loro riattivazione puo' richiedere anche 1 o 2 secondi ...

Girovagando in rete ho trovato questo interessante post che spiega come forzare linux ad utilizzare il meno possibile la swap su disco e mi pare dia buoni risultati ....

Con il termine swap si intende, l’estensione della capacità della memoria volatile complessiva del computer, oltre il limite imposto dalla quantità di RAM installata, attraverso l’utilizzo di uno spazio sul disco fisso.

Se il vostro computer dispone di 1GB di RAM o più, difficilmente, nella maggior parte dei casi, avrete bisogno di utilizzare l’area di swap
La RAM infatti è molto più veloce di un disco rigido ed è conveniente lasciare che la RAM gestisca la maggior parte dei processi. 
La tendenza a ricorrere all’area di swap è chiamata swappiness. Per ridurre lo swappiness in modo tale da forzare l’utilizzo dell RAM del vostro sistema possiamo digitare da terminale il seguente comando:
sudo sysctl -w vm.swappiness=10


Le modifiche effettuate da questo comando però resteranno attive solo per la sessione in corso e non al successivo riavvio del sistema. Se invece, vogliamo mantenere le modifiche in maniera permanente basta editare il file sysctl.conf:
sudo gedit /etc/sysctl.conf
Inserire in coda al file il valore vm.swappiness=10 e salvarlo

IL valore di Default e' 60 provare le diverse combinazioni di valore, io con 10 e 4gb di ram ho visto la differenza in termini di prestazioni

Roberto Lissandrin

5 commenti:

  1. Non vorrei trarti in inganno, quindi prendi quello che ti sto per dire con il beneficio del dubbio: per quanto ne so io la partizione di swap viene anche utilizzata nel momento in cui si iberna il proprio pc. Quindi nel caso in cui la memoria di swap non sia sufficiente per contenere la memoria occupata potrebbero (anzi è probabile) che si verifichino problemi nell'ibernazione. Personalmente cerco sempre di avere un rapporto 1:1 tra la ram e la swap, pur disponendo di 4gb di ram. Se poi non si utilizza questa feature in cerce condizioni la swap si può anche eliminare (es: 6-8 gb di ram)

    Saro

    RispondiElimina
  2. Scusa se ti correggo, ma la swap serve per "appoggiarci" i dati in ram quando quest'ultima è piena e viene chiesto dal kernel di riservarne altra. In una situazione ottimale la swap non viene mai toccata in quanto la memoria attiva massima è minore della ram disponibile.
    Quindi non ha senso forzare la swap in ram, proprio per la definizione di swap.

    RispondiElimina
  3. Il valore 10 e' consigliato per i desktop, mentre per i servers bisogna lasciarlo impostato a 60.
    Fonte:
    https://help.ubuntu.com/community/SwapFaq

    RispondiElimina
  4. Funziona! Aumenta la velocita' di accesso alle applicazioni (la reattivita' del sistema).

    RispondiElimina
  5. @Tommaso
    "...ma la swap serve per "appoggiarci" i dati in ram quando quest'ultima è piena e viene chiesto dal kernel di riservarne altra"...

    Quello che tu dici avviene quando imposti "vm.swappiness=0" (ottimo per un pc 64bit con 4-6 GB di RAM) cioè dici al kernel "tieni i dati il più a lungo possibile in RAM".

    RispondiElimina

Articoli correlati

Post più popolari