Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "andreas-xavier/prova3"
Differenze tra le versioni 98 e 99
Versione 98 del 06/04/2017 12.50.23
Dimensione: 13703
Commento:
Versione 99 del 06/04/2017 15.06.59
Dimensione: 10310
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 9: Linea 9:
Questa pagina è rivolta agli utenti poco esperti di dei sistemi GNU-Linux e raccoglie le principali '''[[https://it.wikipedia.org/wiki/Frequently_asked_questions|FAQ]]''' relative all'uso della '''[[https://it.wikipedia.org/wiki/Swap_(informatica)|SWAP]]'''. Questa pagina è rivolta agli utenti poco esperti dei sistemi GNU-Linux e raccoglie le principali '''[[https://it.wikipedia.org/wiki/Frequently_asked_questions|FAQ]]''' relative all'uso della '''[[https://it.wikipedia.org/wiki/Swap_(informatica)|SWAP]]'''.
Linea 12: Linea 12:
Swap space is the area on a hard disk which is part of the Virtual Memory of your machine, which is a combination of accessible physical memory (RAM) and the swap space. Swap space temporarily holds memory pages that are inactive. Swap space is used when your system decides that it needs physical memory for active processes and there is insufficient unused physical memory available. If the system happens to need more memory resources or space, inactive pages in physical memory are then moved to the swap space therefore freeing up that physical memory for other uses. Note that the access time for swap is slower therefore do not consider it to be a complete replacement for the physical memory. Swap space can be a dedicated swap partition (recommended), a swap file, or a combination of swap partitions and swap files. In termini semplici, la '''swap''' è un'area del disco fisso che interviene in auto alla memoria [[https://it.wikipedia.org/wiki/RAM|RAM]] quando questa sta per esaurirsi. Può essere quindi immaginata come un'estensione della memoria '''RAM'''.<<BR>>
La swap viene utilizzata dal sistema quando quest'ultimo stabilisce che per i processi attivi l'utilizzo della sola RAM non è più sufficiente. Parte delle risorse che impegnano la memoria vengono quindi trasferite alla swap, in modo tale da riuscire ad utilizzare la RAM.<<BR>>
Si noti che:
 * La lettura di dati su disco fisico è più lenta che su RAM (ciò potrebbe causare pertanto rallentamenti del sistema; per limitare questo fenomeno consultare il [[#swappiness|paragrafo]] dedicato).
 * La swap può essere presente attraverso una partizione dedicata, un file apposito ('''swap file'''), o una combinazione di entrambi.
Linea 15: Linea 19:

Memory consuming programs Sometimes, a large program (like LibreOffice, Neverwinter Nights, or a video editor) make the entire system need extra memory. A significant number of the pages used by these large programs during its startup may only be used for initialization and then never used again. The system can swap out those pages and free the memory for other programs or even for the disk cache. In these cases, swap will be used to help the system handle any extra load.

Hibernation (suspend-to-disk) The hibernation feature (suspend-to-disk) writes out the contents of RAM to the swap partition before turning off the machine. Therefore, your swap partition should be at least as big as your RAM size. The hibernation implementation currently used in Ubuntu, swsusp, needs a swap or suspend partition. It cannot use a swap file on an active file system.

Unforeseeable Circumstances Unforeseeable events can and will happen (a program going crazy, some action needing much more space than you thought, or any other unpredictable combination of events). In these cases, swap can give you an extra delay to figure out what happened, or to finish what you are working on.

Optimizing memory usage Since mechanical hard drives are considerably slower than RAM (SSD - Solid State Drive - storage is not as slow as physical drives, but still slower than RAM), when you need a file (be it a data file like a video, executables like Firefox, or libraries), the Linux kernel reads the file into RAM and keeps it there, so that the next time you need it, it is already in RAM and data access is much faster. The portions of RAM that accelerate disk read are called "cached memory." You will notice that they make a huge difference in terms of responsiveness. The Linux kernel automatically moves RAM reserved by programs--but not really used--into swap, so that it can serve the better purpose of extending cached memory.

Optimizing Swap performance Because swap space uses a disk device, this can cause performance issues in any system that uses swap space significantly because the system itself may also be using the same disk device at the same time that it is required for swap operations. One way to reduce this problem is to have swap space on a different physical drive so that the competition for that resource is either reduced or eliminated.
In teoria i computer più recenti e prestanti potrebbero essere dotati di una quantità tale di RAM da non necessitare l'utilizzo della swap. Tuttavia , indipendentemente dalle prestazioni del proprio computer, la swap risulta sempre utile, in particolare nei seguenti casi:
 * '''Utilizzo di programmi''': Alcuni software richiedono un consumo elevato di memoria. Fra questi ricordiamo i [[InternetRete/Navigazione#Browser_per_navigare| browser web]] (specie se con più schede aperte e con siti molto "pesanti"]], suite per ufficio come [[Ufficio/LibreOffice|LibreOffice]], alcuni programmi di [[Grafica|grafica]] e [[Multimedia|editing multimediale]]. Inoltre la swap facilità l'apertura contemporanea di più software che richiedono un consumo medio-basso di memoria.
 * '''Ibernazione''': Questa funzionalità scrive il contenuto della RAM nella swap prima di spegnere il computer. Per questo motivo la swap dovrebbe essere grande almeno quanto la RAM disponibile.
 * '''Eventi eccezionali''': Possono accadere eventi imprevedibili, come ad esempio un programma che vada in errore e cominci a consumare memoria in modo inaspettato. In questi casi la swap permetterà al computer di continuare a funzionare, permettendo di salvare il lavoro corrente e/o per indagare sulle cause del malfunzionamento.
 * '''Ottimizzazione della memoria''': L'accesso alla memoria RAM è estremamente più veloce rispetto al disco rigido. Normalmente, un file (sia esso un file dati, un binario oppure librerie), viene letto sul disco rigido dal sistema che subito dopo lo alloca nella RAM, in modo tale che sia pronto all'uso. Questa parte di RAM si chiama "memoria cache" e porta ad un'enorme riduzione dei tempi di risposta del computer. Linux automaticamente muove la memoria riservata per i programmi (quelli che non sono in uso al momento) dalla RAM al disco fisso, in modo tale che questa RAM possa essere usata per ottimizzare la memoria cache.
Linea 27: Linea 26:
La quantità di swap necessaria dipende essenzialmente da due fattori:
 * '''Quantità di RAM disponibile''': Generalmente si consiglia di fornire ai computer dotati di poca RAM (fino a 1 GB) di maggiore quantità di swap (fino al doppio delle dimensioni della RAM).
 * '''Utilizzo dell'ibernazione''': per l'utilizzo di questa funzionalità si consiglia swap di dimensioni superiori.
Linea 28: Linea 30:
La dimensione dell'area di '''swap''' è funzione della quantità di memoria installata e dell'utilizzo che verrà fatto del sistema. Solitamente, per sistemi con memoria fino a 512 (o anche 768) MiB, si consiglia la creazione di una partizione di swap di dimensione variabile da 1 (o 1,5) fino a 2 volte la RAM (quindi da 512 MiB a 1 GiB circa, a seconda delle esigenze). Per sistemi con quantitativi superiori a 512-768 MiB non è più necessario seguire la regola precedente: è sufficiente allocare un'area di swap con dimensioni pari alla RAM disponibile, e in casi di utilizzo a basse prestazioni (in ufficio per esempio), anche una quantità inferiore. È infatti eccessivo allocare 2 GiB per lo swap in sistemi dotati di 1 GiB di RAM (o più) e principalmente utilizzati per applicazioni da ufficio: in tal caso potranno bastare anche soltanto 512 MiB. La seguente tabella rappresenta i casi più comuni (le ultime tre colonne indicano lo spazio da dedicare alla swap):
Linea 30: Linea 32:
ESEMPI COMUNI:

{{{
(last 3 columns denote swap space)

        RAM(MB) No hibernation With Hibernation Maximum
         256 256 512 512
         512 512 1024 1024
        1024 1024 2048 2048

        RAM(GB) No hibernation With Hibernation Maximum
          1 1 2 2
          2 1 3 4
          3 2 5 6
          4 2 6 8
          5 2 7 10
          6 2 8 12
          8 3 11 16
         12 3 15 24
         16 4 20 32
         24 5 29 48
         32 6 38 64
         64 8 72 128
        128 11 139 256
}}}

= A cosa serve la SWAP? =

Come vedremo, ci sono tre fondamentali e differenti motivi per avere una memoria swap:
 * Alcuni programmi necessitano di molta memoria di lavoro per funzionare correttamente.
 * Avere più memoria a portata di mano può comunque risultare utile in certe situazioni.
 * La memoria di lavoro viene ottimizzata.

Per iniziare, diciamo che i computer sono cambiati molto da quando fu introdotto il sistema di memoria swap: all'inizio, si aveva la necessità di estendere la reale capacità di memoria di lavoro del computer; grazie allo swap, la memoria disponibile nel sistema diventava la somma dello spazio ram più lo spazio swap. Oggigiorno, la dotazione di ram è spesso abbastanza grande, al punto che il nostro computer potrebbe non avere per niente bisogno della swap.


 * Alcuni programmi necessitano di molta memoria di lavoro per funzionare correttamente: In certi casi, l'uso di programmi grossi (come Open``Office, giochi 3D, editor video e grafica) rende l'intero sistema bisognoso di memoria extra. In questi casi, la swap sarà usata per rendere il sistema più maneggevole.


 * Avere più memoria a portata di mano può comunque risultare utile in certe situazioni: possono accadere eventi imprevedibili (un programma va in errore e comincia a consumare memoria in modo inaspettato, alcune azioni chiedono più memoria del normale ed altri eventi del genere). In questi casi la swap permetterà al computer di continuare a funzionare, per salvare il lavoro corrente o per indagare su cosa stia andando per il verso sbagliato nei programmi aperti.

 * La memoria di lavoro viene ottimizzata: l'accesso alla memoria RAM è estremamente più veloce rispetto al disco rigido. Normalmente, un file (sia esso un file dati, un binario oppure librerie), viene letto sul disco rigido dal sistema che subito dopo lo alloca nella ram, in modo tale che sia pronto all'uso. Questa parte di RAM si chiama "memoria cache" e porta ad un'enorme riduzione dei tempi di risposta del computer. Linux automaticamente muove la memoria riservata per i programmi (quelli che non sono in uso al momento) dalla ram al disco fisso, in modo tale che questa ram può essere usata per ottimizzare la memoria cache.
||<rowbgcolor="#cccccc" tablewidth="50%" 11%>'''RAM (in MB)''' ||<:5%>'''Senza ibernazione'''||<:5%>'''Con ibernazione'''||<:5%>'''Dimensioni massime'''||
|| 256 || 256 || 512 || 512 ||
|| 512 || 512 || 1024 || 1024 ||
|| 768 || 768 || 1536 || 1536 ||
||<rowbgcolor="#cccccc" tablewidth="100%" 11%>'''RAM (in GB)''' ||'''Senza ibernazione'''||'''Con ibernazione'''||'''Dimensioni massime'''||
|| 1 || 1 || 2 || 2 ||
|| 2 || 1 || 3 || 4 ||
|| 3 || 2 || 5 || 6 ||
|| 4 || 2 || 7 || 8 ||
|| 5 || 2 || 7 || 10 ||
|| 6 || 2 || 8 || 12 ||
|| 8 || 3 ||11 || 16 ||
|| 12 || 3 || 15 || 24 ||
|| 16 || 4 || 20 || 32 ||
|| 24 || 5 || 29 || 48 ||
|| 32 || 6 || 38 || 64 ||
Linea 75: Linea 51:
Assolutamente no, non devi reinstallare niente. Se hai bisogno di più SWAP consulta [[#|questa domanda]].
Assolutamente no. Per aggiungere SWAP consultare la domanda successiva.
Linea 147: Linea 122:
<<Anchor(swappiness)>>


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Questa pagina è rivolta agli utenti poco esperti dei sistemi GNU-Linux e raccoglie le principali FAQ relative all'uso della SWAP.

Cos'è la SWAP

In termini semplici, la swap è un'area del disco fisso che interviene in auto alla memoria RAM quando questa sta per esaurirsi. Può essere quindi immaginata come un'estensione della memoria RAM.
La swap viene utilizzata dal sistema quando quest'ultimo stabilisce che per i processi attivi l'utilizzo della sola RAM non è più sufficiente. Parte delle risorse che impegnano la memoria vengono quindi trasferite alla swap, in modo tale da riuscire ad utilizzare la RAM.
Si noti che:

  • La lettura di dati su disco fisico è più lenta che su RAM (ciò potrebbe causare pertanto rallentamenti del sistema; per limitare questo fenomeno consultare il paragrafo dedicato).

  • La swap può essere presente attraverso una partizione dedicata, un file apposito (swap file), o una combinazione di entrambi.

Perché la SWAP è necessaria?

In teoria i computer più recenti e prestanti potrebbero essere dotati di una quantità tale di RAM da non necessitare l'utilizzo della swap. Tuttavia , indipendentemente dalle prestazioni del proprio computer, la swap risulta sempre utile, in particolare nei seguenti casi:

  • Utilizzo di programmi: Alcuni software richiedono un consumo elevato di memoria. Fra questi ricordiamo i browser web (specie se con più schede aperte e con siti molto "pesanti"]], suite per ufficio come LibreOffice, alcuni programmi di grafica e editing multimediale. Inoltre la swap facilità l'apertura contemporanea di più software che richiedono un consumo medio-basso di memoria.

  • Ibernazione: Questa funzionalità scrive il contenuto della RAM nella swap prima di spegnere il computer. Per questo motivo la swap dovrebbe essere grande almeno quanto la RAM disponibile.

  • Eventi eccezionali: Possono accadere eventi imprevedibili, come ad esempio un programma che vada in errore e cominci a consumare memoria in modo inaspettato. In questi casi la swap permetterà al computer di continuare a funzionare, permettendo di salvare il lavoro corrente e/o per indagare sulle cause del malfunzionamento.

  • Ottimizzazione della memoria: L'accesso alla memoria RAM è estremamente più veloce rispetto al disco rigido. Normalmente, un file (sia esso un file dati, un binario oppure librerie), viene letto sul disco rigido dal sistema che subito dopo lo alloca nella RAM, in modo tale che sia pronto all'uso. Questa parte di RAM si chiama "memoria cache" e porta ad un'enorme riduzione dei tempi di risposta del computer. Linux automaticamente muove la memoria riservata per i programmi (quelli che non sono in uso al momento) dalla RAM al disco fisso, in modo tale che questa RAM possa essere usata per ottimizzare la memoria cache.

Di quanta SWAP ho bisogno?

La quantità di swap necessaria dipende essenzialmente da due fattori:

  • Quantità di RAM disponibile: Generalmente si consiglia di fornire ai computer dotati di poca RAM (fino a 1 GB) di maggiore quantità di swap (fino al doppio delle dimensioni della RAM).

  • Utilizzo dell'ibernazione: per l'utilizzo di questa funzionalità si consiglia swap di dimensioni superiori.

La seguente tabella rappresenta i casi più comuni (le ultime tre colonne indicano lo spazio da dedicare alla swap):

RAM (in MB)

Senza ibernazione

Con ibernazione

Dimensioni massime

256

256

512

512

512

512

1024

1024

768

768

1536

1536

RAM (in GB)

Senza ibernazione

Con ibernazione

Dimensioni massime

1

1

2

2

2

1

3

4

3

2

5

6

4

2

7

8

5

2

7

10

6

2

8

12

8

3

11

16

12

3

15

24

16

4

20

32

24

5

29

48

32

6

38

64

Ho poca SWAP. Devo reinstallare Ubuntu impostando più memoria SWAP?

Assolutamente no. Per aggiungere SWAP consultare la domanda successiva.

Come posso aggiungere altra memoria swap?

  • Di solito, le persone associano lo swap ad una partizione dedicata allo swap, forse perchè gli è stato suggerito di creare una partizione di swap durante l'installazione di Ubuntu. In realtà è possibile usare per lo swap sia una partizione che un normale file.
  • E' comunque vero che una partizione di swap è più veloce di un file di swap, ma la differenza non è poi così tanta. Se la vostra memoria swap viene usata di continuo dal sistema, il miglior modo per migliorare le prestazioni resta comunque l'aggiunta di un nuovo banco di ram, swappare una partizione o un file non cambierà di molto le cose in ogni caso.
  • In questo esempio aggiungeremo memoria creando un nuovo file di swap al sistema.
  • Sono sufficienti quattro passi:

    1. Creazione di un file con la dimensione voluta.
    2. Formattazione di questo file per creare un dispositivo(device) di swap.
    3. Aggiunta di questo swap file al sistema corrente.
    4. Rendere permanente l'impostazione effettuata.
  • Facciamo il caso che abbiamo bisogno di 512 Mb di swap.
  • Creazione di un file con la dimensione voluta:
    1. Il file di swap sarà /mnt/512Mb.swap.
    2. Comando da usare:
         sudo dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512

      Il parametro importante è count=512, il quale imposta il nostro file in modo che contenga 512 blocchi di bs=1M, ovvero di dimensione uguale a 1 Mega Byte.

  • Formattazione di questo file per creare un dispositivo(device) di swap:
    •    sudo mkswap /mnt/512Mb.swap
  • Aggiunta di questo swap file al sistema corrente:

       sudo swapon /mnt/512Mb.swap
    • Puoi controllare con cat /proc/meminfo che il file di swap è ora disponibile per il sistema.

  • Rendere permanente l'impostazione effettuata:
    1. Apri il file di configurazione fstab con il seguente comando:

            sudo gedit /etc/fstab
    2. Aggiungi questa linea alla fine del file:
      • /mnt/512Mb.swap none swap sw 0 0

La SWAP non è riconosciuta o utilizzata dal sistema. Che fare?

  • Caso 1: Swap non montata all'avvio (comune in caso di eliminazione creazione di nuova SWAP).

modificare /etc/fstab (link guida).

I suggerimenti seguenti riguardano principalmente le partizioni di swap, ma potresti trovarli comunque d'aiuto. Quando trovi hdyX, la y(è una lettera) e la X(è un numero) vanno sostituite in base alla configurazione dei tuoi dischi rigidi e delle tue partizioni.

  • Aiuto! Lo swap file non viene usato dal sistema! Quando da terminale lancio il comando free mi compare qualcosa come:

    tom@tom:~$ free
                 total       used       free     shared    buffers     cached
    Mem:        515980     448664      67316          0      17872     246348
    -/+ buffers/cache:     184444     331536
    Swap:       674688          0     674688
  • Per prima cosa, cerchiamo di capire se il sistema è proprio impossibilitato a usare lo swap, o se piuttosto dipende dal fatto che non è necessario in questo momento usare memoria di swap. Prova ad avviare diversi programmi "pesanti"(e.g. Gimp, web browser, Openoffice etc) e dai di nuovo il comando free. Viene usato lo swap, ora?

  • Assicurati che nel file /etc/fstab sia presente questa riga (y è una lettera, X un numero):

    • /dev/hdyX       none            swap    sw              0       0
  • Prova a disabilitare la swap, e successivamente ricrearlo e abilitarlo di nuovo.
    • swapoff -a
      /sbin/mkswap /dev/hdyX
      swapon -a 
  • Ad alcuni ha funzionato questa procedura:
    1. cfdisk: Cancella la vecchia swap e ricreane una nuova.
    2. Riavvia il computer. (obbligatorio)
    3. mkswap /dev/hda8
    4. swapon -a

Il mio computer ha poca RAM e utilizzando la SWAP rallenta molto. Che fare?

Il disco fisso (sia meccanico che a stato solito) è molto più lento della RAM, per cui l'utilizzo della swap porterà ad un rallentamento generale del computer. Ubuntu di default inizia a scrivere nell'area di swap quando la RAM è impegnata al 60%. Questo valore, adeguato per computer con un buon quantitativo di RAM, risulta troppo basso in quei computer che dispongono di poca RAM.

Per ritardare l'uso dell'area di swap fino al riempimento del 90% della RAM seguire i seguenti passaggi:

  1. Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/sysctl.conf.

  2. Aggiungere la riga:

     vm.swappiness = 10
  3. Salvare e chiudere il file.
  4. Riavviare il computer per attuare le modifiche.

    È possibile scegliere un valore diverso del fattore di swappiness. Se si intende iniziare a scrivere nella swap quando la RAM è occupata alla percentuale X, inserire 100-X come parametro di swappiness (ad esempio, vm.swappiness = 20 per utilizzare la swap quando è in uso l'80% della RAM).

Perché non trovo la partizione di SWAP in Ubuntu 17.04?

[descrizione]

Ulteriori risorse


CategoryHomepage