Cerca nel mio blog

Avviso


APPUNTIDILINUX E' STATO SPOSTATO SU UN NUOVO SITO: WWW.APPUNTIDILINUX.IT

QUESTO RIMMARRÀ COME ARCHIVIO STORICO DEI POST DALLA NASCITA DEL PROGETTO AD OGGI MARZO 2016.

GRAZIE A TUTTI VI ASPETTO SUL NUOVO SITO.
ROBERTO LISSANDRIN

martedì 21 giugno 2011

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

9 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
  6. non riesco a correggere il numero, il terminale mi da questo errore:
    (gedit:2043): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel', but failed: Creazione del file "/root/.local/share/recently-used.xbel.8HLSZW" non riuscita: File o directory non esistente

    (gedit:2043): Gtk-WARNING **: Attempting to set the permissions of `/root/.local/share/recently-used.xbel', but failed: File o directory non esistente

    RispondiElimina
  7. Non so io ho provato il comando sudo gedit /etc/sysctl.conf
    mi ha chiesto la password e ho inserito in coda al file la istruzione
    vm.swappiness=10
    poi ho salvato e non ho avuto problemi ...
    Prova ad entrare come root nel sistema e editare quel file oppure a reinstallare gedit
    Roberto

    RispondiElimina
  8. Scusate, ma se un computer ha un quantitativo elevato di RAM, tipo 8 o anche 16 GB, potrebbe fare completamente a meno della partizione SWAP o sbaglio?
    Tantopiù se l' opzione di ibernamento non viene usata.
    Grazie delle risposte.
    Valdemaro.

    RispondiElimina

Mappa del sito

Articoli correlati