In questa guida vedremo come poter creare velocemente una memoria Swap temporanea in qualsiasi distribuzione Linux.

Linux no swap
Quando andiamo ad installare una distribuzione Linux ci viene normalmente consigliato di creare una partizione per il sistema operativo e una per la Swap ossia una memoria virtuale che consente salvare dati come una normale memoria RAM. La memoria Swap è molto utile (se non indispensabile) soprattutto in personal computer datati con poca memoria RAM disponibile, consentendoci il corretto avvio di applicazioni che richiedono molta memoria come ad esempio il web browser.
Può capitare che per errore non abbiamo creato nessuna partizione di Swap al momento dell’installazione, in questo caso possiamo crearne velocemente una Swap temporanea da poter utilizzare immediatamente, oltre  a poterla caricare all’avvio senza dover reinstallare tutto o modificare le partizioni del nostro hard disk.

La prima cosa da fare è creare un file di swap per farlo basta digitare da terminale:

dd if=/dev/zero of=memoria.swap bs=1M count=1024 

in questo caso avremo creato una memoria Swap da 1GB (count=1024) se vogliamo creane una da due GB dovremo digitare count=2048 ecc
inoltre potremo cambiare anche il nome del file da memoria.swap ad esempio in lffl.swap o altro nome preferito.

una volta creata dovremo formattarla digitando da terminale:

mkswap memoria.swap

ora possiamo montare la partizione Swap creata digitando da terminale:

sudo swapon memoria.swap

possiamo verificare il tutto avviando il monitor di sistema (immagine in basso) oppure da terminale digitando ad esempio top

Linux Swap attiva

Per smontare la memoria Swap basterà digitare:

sudo swapoff memoria.swap

Possiamo montare automaticamente la nostra swap all’avvio, per farlo consiglio di spostare il file nella directory opt cosi da non dover accidentalmente rimuovere il file della Swap nella home. Successivamente andremo a caricare automaticamente la Swap all’avvio attraverso il file rc.local, ecco come fare.

Per prima cosa spostiamo il file di Swap nella directory opt (opzionale) digitando:

sudo mv memoria.swap /opt/memoria.swap

e andiamo a montare automaticamente il tutto digitando:

sudo nano /etc/rc.local

e inseriamo prima di exit 0:

swapon /opt/memoria.swap

e salviamo il tutto con Ctrl + x e poi s

swapon in rc.local

non ci resta che riavviare la distribuzione, al riavvio avremo la nostra Swap attiva.

  • mauro

    Leggo spesso questo blog, e a volte, pur non condividendo le opinioni, ho evitato di infastidire con qualche commento, ma…questo articolo è pure e semplice pubblicità, non trovi? nessun nuovo hw, nessun nuovo sw, solo pubblicità. perchè?

    • Divulga informazione, in fondo dall’articolo si capiva bene che non era hw o sw quindi è una semplice scelta dell’utente leggere o meno l’articolo, non è mica una testata giornalistica questo blog…

    • Opensuse4live

      io ho un portatile con Opensuse e un telefono samsung “old school” , quello che serve solo a telefonare per capirci,quindi sono totalmente disinteressato a questo articolo e all’inizio la pensavo come te ma poi ho capito che tutto sommatto per chi ha un android di ultima generazione questo articolo potrebbe essere utile.

      • Funziona anche se installi android x86 togli in root con supersu installi sky go che trovi in rete 🙂

        • a me carica perfettamente sky tg 24 con questo metodo ma gli altri canali restituiscono una schermata nera con sotto tasti play/pausa e volume, naturalmente se premo play non cambia nulla ç_ç

    • Davide Depau

      Funziona su Android, ecco perché è qui… A parte che non penso che ferramroberto faccia pubblicità a Sky, in ogni caso le pubblicità che trovi vengono fatte non per interesse personale ma per aiutare associazioni e progetti per Linux.

    • MaxCaruso

      Noi Italiani abbiamo un vizio di m…d.!

      Abbiamo pretese nei confronti di chi niente ci deve; contemporaneamente ci dimentichiamo di reclamare con chi ha il dovere di fornirci un qualcosa o un servizio (…mi sforzo ma non riesco a scrivere “amministratori delle cosa pubblica” senza che mi venga il vomito…).
      +ferramroberto sarà libero di scrivere ciò che gli ritiene sul suo blog?
      Hai lo stesso spunto critico con il tuo Sindaco?!

      Il perché che poni alla fine è poi facilmente deducibile, usando un po’ di materia grigia e applicando i neuroni in maniera critica verso il mondo che ti circonda.
      L’evoluzione non passa solo attraverso nuove schede madri o nuovi sistemi operativi. I servizi avranno sempre più un ruolo importante sia per quanto riguarda l’ottica dei fruitori, sia per ciò che attiene al comparto industriale….
      Se cercassimo di comprendere che avremo meno operai-meccanici e più operai-di-servizi, avremmo salito un’altro gradino per cercare di uscire da questa crisi.
      ciao

      • mauro

        Infatti, ho solo posto una domanda, ed ho notato, con molto piacere, che sono arrivate tante risposte (può quindi consolatrti il fatto che in giro si trovano persone con materia grigia e neuroni più funzionanti dei miei 🙂 ).
        Altrettanto “infatti” ferramroberto Può scrivere ciò che vuole sul suo blog, non ho mai pensato o voluto che fosse diversamente! Ma per lo stesso principio, perchè io non dovevo sentirmi libero di togliermi questa cuorisità, o, più semplicemente esprimere un mio parere? In fin dei conti, se consideri un vizio di “m…a”, quello di fare domande o chiedere chiarimenti, bè… che ti devo dire: mi spiace!

        comunque grazie per la spiegazione e a presto!!!!

        mauro

  • riccaficca

    più che altro vorrei capire come si fa a vedere sky go su un pc con linux visto che supporta silverlight che è proprietario???

    • non si può

    • Davide Depau

      Non usa SilverLight, usa un plugin proprietario basato su GStreamer. Ladri.

  • Se c’era il client Ubuntu dedicato l’avrei fatto subito…ma che ci capisci questi buon temponi ancora credeno che i soldi di chi ha Linux non sono buoni…ehehhehe…contenti loro…

  • luca020400

    Grazie mille avevo appena creto una immagine per lo swap ma non mi ricordavo come montarla all’avvio
    Thanks

  • Agno

    Anche “truncate -s 1G memoria.swap” al posto di “dd …”

  • Ermy_sti

    oppure da una live creare una partizione e assegnarla come swap semlice e veloce…cmq lo swap serve anche se vuoi attivare e usare l ibernazione

  • perchè scomodare upstart, quando si può usare fstab? Basta aggiungere la riga:
    /opt/memoria.swap none swap defaults 0 0

    • concordo ma x user inesperti non vorrei che facessero casini con fstab tutto qua

      • giacomo

        allora avrei indicato entrambe le soluzioni…. altrimenti non impariamo a fare le cose nel modo “standard” (o almeno piu’ portabile tra le varie distro)

  • Giulio Mantovani

    a me il pc swappa anche con 4 gb di ram, e non capisco bene il motivo… solitamente comincia quando supero 2.6 gb di ram occupata…

    • MoMy

      Non conoscendo il tuo OS (cioè quello che usi) e come è impostato te la butto lì. Informati sul valore swappiness. In Arch usiamo il comando $ cat /proc/sys/vm/swappiness. Il valore ricevuto rientra nel range 0-100 dove un valore basso riduce lo scambio.
      Potrebbe essere anche un discorso di priorità qualora esistesse più di un file/partizione di swap, indi, un bel giro nel forum di destinazione e cerca swappiness e priorità swap.

      Bye^^

      • Giulio Mantovani

        Uso Chakra, derivata Arch e il comando riporta valore 60, dici che se lo metto tipo a 10 vado meglio?

        • tomberry

          Hai 4 gb di ram, puoi metterla anche a 0, riesci a occupare 4 gb di ram durante l’uso quotidiano?

          • Giulio Mantovani

            4 no, 3.5-3.6 si

          • matteo81

            allora fai come ti ha detto MoMy…. e comunque basta cercare swappiness in questo blog e troverai la guida…
            Non è un problema di arch ma in generale di tutte le distro..
            Impostando il valore a 10 obblighi il sistema a swappare solo quando hai rimasto il 10% di ram a disposizione mentre di default l’impostazione mi pare sia intorno al 40% o giù di lì…..

          • tomberry

            Porc…. fai come ti ha consigliato MoMy e impostala a 10 😉

    • se leggi un mio commento qua sopra vedi come risolvere il problema modificando il file swappiness, ma comunque ti hanno gia risposto

  • ange98

    Io quasi quasi pensavo di cancellare la mia partizione di swap e rimpiazzarla con un file di swap… In fondo con 6 giga di ram un file basta e avanza credo, no?

    • Marco

      Io e’ da quando ho 8gb di ram ho eliminato la partizione di swap e non ho nessun file di swap.

      • giacomo

        Se non necessaria, Linux non usa la swap, al contrario di windows che mi sembra la usi sempre.
        Infatti in Linux assegno tranquillamente un po’ di spazio (disco o partizione), mentre su Windows, da sempre disabilito lo swap (anche con 4 giga, e ne vede solo 3, solo una volta mi è capitato di avere un errore per mancanza di ram)

        • matteo81

          per mia esperienza personale direi quasi il contrario…..
          Linux per difetto è impostato per usarla quando si raggiunge un 60-70% della ram….. testato su tutti i pc cho possiedo
          Se in windows disabiliti la swap è normale che ti dia errore nel momento in cui raggiungi il limite di ram si accorge che la swap è disattivata e non riesce a fungere correttamente….. poi se hai 4 gb e ne vede solo 3 forse stai usando un so a 32 bit quando andrebbe meglio uno a 64 che la riconosce tutta….

          • è vero linux è impostato per usare la swap al 60-70% di ram utilizzata ma questo valore si può cambiare semplicemente editando il file “swappiness”

            che in archlinux tale valore si modifica editando il parametro
            “vm.swappiness”
            che si trova nel file
            “/etc/sysctl.d/99-sysctl.conf”

            se ad esempio vuoi che inizi a swappare al 90% di ram occupata devi dargli il valore 10
            “vm.swappiness=10”

          • matteo81

            se leggi sotto capisci che parlavo per spiegare….
            Quello che non capisco è il senso del default… se ho tanta ram gradirei poterla usare mentre a maggior ragione avendone poca gradirei sfruttarla tutta proprio perchè ne ho poca… boh…….
            Anche questa è una scelta che non capirò mai… sembra che alla fine del mese ci sia la bolletta sulla ram usata……. ma impostarla direttamente al 10% no? troppo facile?

          • mikronimo

            La usavo (la modifica della swappiness) sul vecchio pc con 1 gb di ram; su questo nuovo (con 4 gb) non ho impostato la swap e infatti non c’è neanche il file in “/etc/sysctl.d/99-sysctl.conf”…

        • per il fatto che vengono visti 3GB come ti ha detto matteo potresti avere un sistema operativo a 32bit e quindi non riconosce più ram.
          oppure cosa al quanto improbabile hai 1GB di memoria condivisa con la GPU, ma solitamente mi sembra che le schede video integrate abbiano 128 o 256MB di ram condivisa, non di più

  • Danielsan

    Una swap creata in questo modo non permette l’ibernazione, bisogna deframmentarla e aggiungere un parametro di boot al kernel:
    https://wiki.archlinux.org/index.php/Hibernate#Hibernation_into_swap_file

No more articles