Home > Debian, Linux, Ubuntu > Liberare memoria RAM ubuntu debian linux

Liberare memoria RAM ubuntu debian linux

Riprendo un precedente post ” Liberare memoria in Ubuntu ” su come rilasciare un po’ di memoria RAM con alcune integrazioni.

Linux, per mantenere un buon livello di performance, utilizza una buona parte della memoria  come memoria cache. Pertanto non è strano trovarsi con  il 20-40% della memoria utilizzato dalla cache. Una parte di questa memoria inattiva può essere liberata con i seguenti semplici comandi

sudo -s   
sync  &&   echo 3 > /proc/sys/vm/drop_caches

In sostanza. Siamo passati a root
sudo -s
Abbiamo scritto i dati nel buffer di memoria su disco
sync
Abbiamo liberato parte della memoria cache inattiva
echo 3 > /proc/sys/vm/drop_caches

Non aspettiamoci miracoli ma qualche centinaio di MB della memoria cache inattiva li avremo a disposizione. Per controllare le variazioni possiamo usare nmon. Nmon è un ottimo programma, molto completo per monitorare in real time il sistema e che consuma poche risorse.
Installiamo e avviamo con

sudo apt-get install nmon
nmon

Una volta avviato premere i seguenti tasti:
m stato della memoria
c per la cpu
n statistiche network
t statistche processi (come top)
h per vedere come visualizzare tutte le sezioni statistiche disponibili.

I tasti funzionano in modalità on/off. Ripremendo lo stesso tasto si disattiva la visualizzazione della specifica funzione.

Ecco cosa succede con i comandi evidenziati controllare la freccia rossa si passa da 506 MB a 108 MB con uno scarico di 400 MB RAM

nmon RAM prima

nmon RAM prima

nmon RAM rilasciata

nmon RAM rilasciata

Rilasciamo la ram con una combinazione di tasti

per semplificarci la vita mettiamo il tutto in uno script in /usb/bin/ram-free.sh e poi associamo il tutto a una combinazione di tasti con xbindkeys

sudo su 
touch /usr/bin/ram-free.sh
echo 'sync' >> /usr/bin/ram-free.sh
echo 'echo 3 > /proc/sys/vm/drop_caches' >> /usr/bin/ram-free.sh
chmod a+rx /usr/bin/ram-free.sh
exit
gksu

gksu

Adesso possiamo richiamare lo script usando gksu
che si installa con

    sudo apt-get install gksu

quindi avviamo con

   gksu ram-free.sh

a digitiamo la password di root

adesso associamo il tutto alla combinazione di tasti Mod4 (logo win) + control + f

Per fare questo possiamo usare xbindkeys: xbindkeys per associare comandi alla tastiera in linux ubuntu debian

se è stato installato xbindkeys  in .xbindkeyscr  inseriamo a mano le seguenti righe

# liberare memoria 
"gksu /usr/bin/ram-free.sh"
    Mod4 + control + f

oppure

echo  '# liberare memoria' >> $HOME/.xbindkeysrc 
echo  '"gksu /usr/bin/ram-free.sh"' >> $HOME/.xbindkeysrc 
echo  '   Mod4 + control + f'  >> $HOME/.xbindkeysrc

Controllare RAM e memoria di Swap

Per controllare l’utilizzo della RAM e della memoria di Swap e possibile utilizzare anche i comandi:

#free -m

oppure il file system proc che consente di ottenere una dettagliata informativa sull’uso della RAM

#cat /proc/meminfo

A proposito di Ram

Comunque per quanto riguarda il consumo di risorse occhio ai browsers non va trascurato che una decina di tab aperti di Chromium con qualche estensione mangiano velocemente oltre 1 GB di RAM.

Ecco cosa evidenzia il task manager di Chromium versione ( Version 22.0.1229.79 Ubuntu 12.10 (158531))

google crhome browser occupazione RAM

provare e clikkare stats for nerd per i dettagli ( in basso a sinistra )

Advertisements
  1. Giuseppe
    novembre 8, 2012 alle 1:29 pm

    Grazie, ho veramente apprezzato questo articolo. Potresti darmi qualche dritta sulle configurazioni principali del pannello di controllo EHCP (Easy Hosting Control Panel)?

    • novembre 9, 2012 alle 1:32 am

      In maniera sintetica non è semplice. Stiamo parlando di un pannello per il controllo di un server, preferibilmente ubuntu, con compiti di hosting relativamente giovane e pertanto non perfettamente stabile. Diverse le funzioni supportate backup-restore, gestione domini, gestione posta, script installer, SSL …. 4 i livelli di users consentiti: server admin, reseller, domain admin and email user…

  2. Giuseppe
    novembre 8, 2012 alle 1:30 pm

    Funziona davvero, mi ha liberato circa 300mb di memoria!

  3. Giuseppe
    novembre 9, 2012 alle 1:27 pm

    Ah, volevo chiederti una cosa…
    come posso schedulizzare lo scritp che mi hai fornito? posso farlo eseguire automaticamente mettiamo caso una volta al giorno?

    • novembre 9, 2012 alle 6:48 pm

      la risposta è cron lo schedulatore di processi linux.
      https://mauriziosiagri.wordpress.com/2010/12/13/cron/

      • Giuseppe
        novembre 9, 2012 alle 11:05 pm

        Grazie per le risposte celeri Maurizio. Sei davvero competente e ho una voglia esagerata di imparare il mondo di Linux!
        Ho capito perchè non posso usare “gksu”, e devo optare per il comando “su”… io utilizzo Ubuntu Server 10.04 LTS senza interfaccia grafica, ma solo con righe di comandi da terminale e quello è un comando grafico!!! 🙂
        Adesso sto cercando di capire come CONFIGURARE ISPconfig… del quale non trovo nessuna guida a riguardo… anzi ti ringrazierei tantissimo se tu scrivessi un tutorial sul suo utilizzo…!!!
        Quello che vorrei capire e che non riesco proprio da solo è:

        1) configurare il tutto per avere un accesso web al pannello come “cliente” (“https://Mio-Indirizzo-Ip-Pubblico:8080/cliente” oppure con “https://mio-nome-server:8080/cliente”)
        2) avere un accesso FTP per ogni “cliente”
        3) riuscire a vedere all’interno della mia rete LAN l’interfaccia web esterna (con il mio indirizzo IP pubblico insomma)
        4) integrare ISPconfig magari con un CMS gratuito di offerta hosting (questo solo per pura curiosità e per riuscire nell’intento)
        5) capire come posso creare i miei NS (name server) personali grazie ad un nome di dominio (www.grafikamente.net) che ho registrato su GoDaddy (importantissimo per caricare i miei siti personali all’interno del mio server, puntare i nomi di dominio ai miei siti che ospito e vederli finalmente su internet!!!).
        6) creare un certificato SSL che mi permetta di creare siti con connessioni sicure

        e via di seguito…

      • novembre 11, 2012 alle 7:05 pm

        Giuseppe poni molte questioni non tutte pertinenti con il post.
        Riguardo a IPSconfig ti ho inviato una email.
        Comunque per ottenere un accesso come cliente devi prima
        1) creare un cliente sotto admin oppure 2) creare un reseller e poi un cliente.
        Creato il cliente accedi come cliente e crei i websites e i sottodomini desiderati.
        SSL: se hai installato ISPconfig avresti già dovuto creare il primo certificato e accedere con https://ip:8080 e non con http.
        Considera che il manuale se non ricordo male è di 290 pagine. Impossibile sintetizzare.

  4. Giuseppe
    novembre 9, 2012 alle 1:54 pm

    Per far si che lo script funzioni (o almeno sembra perchè non mi restutuisce nessun errore ma non mi dice nulla) mi tocca scrivere “sudo ram-free.sh”. E’ lo stesso?
    Se scrivo “gksu ram-free.sh” mi restituisce un errore “(gtksu:1978) : GtK Warning **: Cannot Open Display:”.

    • novembre 9, 2012 alle 6:32 pm

      Se vuoi avviare lo script da terminale è preferibile la tua soluzione “sudo ram-free.sh”.
      gksu ha un altro compito agire da lanciatore.
      Inanzitutto se digiti “gksu” devi ottenere la finestra di gksu (aggiunta nel post).
      Diversamente gksu non è installato correttamente.
      Poi la procedura indicata nel post ha l’obiettivo di effettuare il rilascio della ram premendo una combinazione di tasti
      e digitando solo la password di root nella finestra che appare.

  5. Giuseppe
    novembre 13, 2012 alle 5:18 am

    Grazie anche per i consigli non pertinenti al post (magari che ne so, prima o poi scrivi una bella guida su ISPconfig che adoro!) riguardanti ISPconfig. Alla fine ho comprato il manuale (ben 333 pagine) e sto settando tutto per bene. Non è difficile adesso, ma senza manuale distrecarsi nelle tante opzioni non è semplice. 😉
    Se ti va ci possiamo sentire per email 🙂
    Grazie ancora di tutto!

    • novembre 14, 2012 alle 11:34 am

      Ti faccio i complementi Giuseppe sei stato bravo.
      Non è facile quello stai facendo. In serata ti mando una email.

  6. marzo 22, 2013 alle 1:22 pm

    uhm, ottimo consiglio. ma ha delle complicazioni se installo questo script anche su una server virtuale dove ospito i miei siti web?

    • marzo 23, 2013 alle 1:20 pm

      Non ci sono complicazioni utilizzando il comando in una macchina virtuale.
      Anche se questo script ha senso sopratutto quando si usano PC desktop, così da evitare un eccessivo ricorso ad operazioni di swap su disco,a volte fastidioso. Nei servers linux di produzione (operativi), in generale, non è necessario questo apporccio, visto che, analizzate le situazioni che si presentano, la memoria è comunque gestita al meglio.

  7. gennaio 7, 2016 alle 11:33 pm

    Innanzitutto grazie mille per l’articolo, ho notato che il mio pc accumula poco alla volta tutta la memoria, appena svuoto la cache si libera tutta. Chiudo tutto ma poco alla volta viene tutta la memoria anche se svuoto la cache questa poco alla volta viene tutta occupata quindi devo sempre svuotarla. Sai se è normale? Non vorrei essere vittima di una minaccia che succhia memoria D:

    • settembre 5, 2016 alle 4:55 pm

      E’ normale che Linux occupi tutta la memoria a disposizione e in genere non dovrebbe essere necessario usare il trucchetto evidenziato. Per semplificare la ram libera viene utilizzata come cache per ridurre gli accessi al disco. Purtroppo con il passare del tempo diverse distribuzioni per desktop sono diventate oltre che pesanti e meno efficienti. Ti assicuro che nei server linux non esiste assolutamente la necessità di applicare trucchetti l’uso della memoria. Ho avuto servers linux virtuali che hanno girato anche più di un anno senza necessita di riavvio e senza problmei di memoria.

  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: