|
Dimensione: 9739
Commento:
|
Dimensione: 11251
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 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 [[https://it.wikipedia.org/wiki/Linux|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 13: | Linea 13: |
| 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>> | La swap viene utilizzata dal sistema quando quest'ultimo stabilisce che l'utilizzo della sola RAM non è più sufficiente per i processi attivi. Parte delle risorse che impegnano la memoria vengono quindi trasferite alla swap, in modo tale da riuscire ad utilizzare la RAM.<<BR>> |
| Linea 20: | Linea 20: |
| * '''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 facilita l'apertura contemporanea di più software che richiederebbero singolarmente un consumo medio-basso di memoria. | * '''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/o con l'apertura di siti molto "pesanti"), suite per ufficio come [[Ufficio/LibreOffice|LibreOffice]], alcuni programmi di [[Grafica|grafica]] e [[Multimedia|editing multimediale]]. Inoltre la swap facilita l'apertura contemporanea di più software che richiederebbero singolarmente un consumo medio-basso di memoria. |
| Linea 22: | Linea 22: |
| * '''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. |
* '''Eventi eccezionali''': Possono accadere eventi imprevedibili, come ad esempio un errore di un programma che comincia a consumare memoria in modo inaspettato. In casi come questo la swap permette al computer di continuare a funzionare, permettendo all'utente di salvare il lavoro corrente e/o di tentare di risolvere il problema. * '''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 possa essere usata per ottimizzare la memoria cache. |
| Linea 25: | Linea 25: |
| <<Anchor(dimensioni)>> | |
| Linea 27: | Linea 28: |
| * '''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. |
* '''Quantità di RAM disponibile''': Generalmente si consiglia di fornire ai computer dotati di poca RAM (fino a 1 GB) una maggiore quantità di swap (fino al doppio delle dimensioni della RAM). * '''Utilizzo dell'ibernazione''': per l'utilizzo di questa funzionalità si consiglia una swap di dimensioni superiori. |
| Linea 30: | Linea 31: |
| La seguente tabella rappresenta i casi più comuni (le ultime tre colonne indicano lo spazio da dedicare alla swap): | La seguente tabella rappresenta i casi più comuni e indica nelle ultime tre colonne lo spazio da dedicare alla swap): |
| Linea 51: | Linea 52: |
| Assolutamente no. Per aggiungere SWAP consultare la domanda successiva. | Assolutamente no. Per aggiungere ulteriore swap consultare la [[#aggiungere|domanda successiva]]. |
| Linea 53: | Linea 54: |
| = Come posso aggiungere altra memoria swap? = | <<Anchor(aggiungere)>> = Come posso creare una memoria swap o aggiungerne altra? = Per creare o aggiungere memoria swap sono possibili tre metodi: * Creazione di una partizione di swap. * Creazione automatica di un file di swap. * Creazione manuale di un file di swap. |
| Linea 55: | Linea 61: |
| Tre metodi: 0. Modifica delle partizioni. 0. Creazione automatica dello swap file (installazione pacchetto dphys-swapfile). 0. Creazione manuale del file di swap: |
Queste tre procedure sono descritte nei paragrafi seguenti. |
| Linea 60: | Linea 63: |
| 0. Creazione di un file con la dimensione voluta. 0. Formattazione di questo file per creare un dispositivo(device) di swap. 0. Aggiunta di questo swap file al sistema corrente. 0. Rendere permanente l'impostazione effettuata. * Facciamo il caso che abbiamo bisogno di 512 Mb di swap. * Creazione di un file con la dimensione voluta: 0. Il file di swap sarà /mnt/512Mb.swap. 0. Comando da usare: {{{ sudo dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512 |
== Creazione di una partizione di swap == 0. Creare dello spazio non allocato nel disco rigido se non presente (consultare [[Hardware/DispositiviPartizioni/PartizionamentoManuale|questa guida]] per maggiori informazioni). 0. Creare una partizione di swap (consultare [[ Hardware/DispositiviPartizioni/PartizionamentoManuale#Esempio_1_-_partizioni_primarie|questo paragrafo]] per maggiori informazioni). Per indicazioni relative alla dimensione da dedicare alla partizione di swap consultare [[#dimensioni|questo paragrafo]]. 0. [[Hardware/DispositiviPartizioni/MontarePartizioni|Impostare il montaggio automatico]] per la partizione appena creata. 0. Riavviare il sistema. In caso la swap non fosse riconosciuta consultare [[#riconoscimento|questo paragrafo]]. == Creazione automatica di uno swap file == 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://dphys-swapfile|dphys-swapfile]]. 0. Riavviare il sistema. Verrà quindi creato automaticamente un file di swap. <<BR>> Si noti che tale file sarà di dimensioni doppie alla memoria RAM presente. Pertanto assicurarsi di avere a disposizione sufficiente spazio nel sistema. == Creazione manuale di un file di swap == 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguenti comando per utilizzarlo come utente ''root'': {{{ sudo bash |
| Linea 72: | Linea 86: |
| 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 |
0. Creare quindi un file avente la [[#dimensioni|dimensione necessaria]]). Con il comando seguente verrà creato un file denominato `swapfile` grande 512MB (ossia 524288 blocchi da 1024 byte): {{{ dd if=/dev/zero of=/myswapfile bs=1024 count=524288 |
| Linea 77: | Linea 89: |
| * Aggiunta di questo swap file al sistema corrente: {{{ sudo swapon /mnt/512Mb.swap |
0. Per convertire il file appena creato in file di swap, attribuirne i permessi e attivarlo, digitare in sequenza i seguenti comandi: {{{ mkswap /swapfile }}}{{{ chown root:root /swapfile }}}{{{ chmod 0600 /swapfile }}}{{{ swapon /swapfile }}}{{{ exit |
| Linea 80: | Linea 100: |
| Puoi controllare con {{{cat /proc/meminfo}}} che il file di swap è ora disponibile per il sistema. * Rendere permanente l'impostazione effettuata: 0. Apri il file di configurazione [[AmministrazioneSistema/Fstab|fstab]] con il seguente comando: {{{ sudo gedit /etc/fstab }}} 0. Aggiungi questa linea alla fine del file: '''/mnt/512Mb.swap none swap sw 0 0''' |
0. Per abilitare il file di swap ad ogni avvio aprire con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/fstab` e aggiungere la stringa {{{ /swapfile swap swap defaults 0 0 }}} infine salvare e chiudere il file. 0. Riavviare il computer. |
| Linea 88: | Linea 106: |
| <<Anchor(verifica)>> = Come posso verificare se la SWAP è attiva? = Digitare nel [[AmministrazioneSistema/Terminale|terminale]]{{{ free }}} Il risultato sarà simile al seguente: {{{ total used free shared buff/cache available Mem: 3929652 1347696 595748 134884 1986208 2123652 Swap: 4246652 0 4246652 }}} dove la prima riga si riferisce alla RAM mentre la seconda alla swap. |
|
| Linea 89: | Linea 118: |
| = 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 |
= Come si fa ad attivare o disattivare temporaneamente la SWAP? = Per disattivare la swap digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ sudo swapoff -a }}} Al contrario, per attivare la swap digitare:{{{ sudo swapon -a |
| Linea 105: | Linea 126: |
| * 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 }}} |
<<Anchor(riconoscimento)>> = La partizione di SWAP non è riconosciuta o utilizzata dal sistema. Che fare? = |
| Linea 117: | Linea 129: |
| * Ad alcuni ha funzionato questa procedura: 0. cfdisk: Cancella la vecchia swap e ricreane una nuova. 0. Riavvia il computer. (obbligatorio) 0. mkswap /dev/hda8 0. swapon -a |
È una eventualità molto comune nei casi in cui è stata creata una nuova partizione di swap eliminando quella precedente, senza impostarne correttamente l'avvio. Infatti probabilmente la swap non viene montata all'avvio essendo cambiato il codice [[https://it.wikipedia.org/wiki/Universally_unique_identifier|UUID]]. In tal caso sarà sufficente: 0. Identificare la partizione di swap e ottenere l'UUID (consultare [[Hardware/DispositiviPartizioni/IndividuarePartizioni|questa guida per maggiori informazioni). 0. Aprire con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/fstab`. 0. Individuare la stringa relativa alla swap, quindi aggiornare il codice UUID. 0. Salvare e chiudere il file. 0. Riavviare il computer. |
| Linea 135: | Linea 150: |
| Linea 137: | Linea 153: |
| = In caso di più sistemi Linux installati nello stesso come devo regolarmi? = Due o più sistemi Gnu/Linux installati in dual boot possono tranquillamente utilizzare la stessa partizione di swap. Non è pertanto necessario creare una nuova partizione di swap se ce n'è una già presente.<<BR>> Nel caso la swap non venga riconosciuta dal sistema consultare [[#riconoscimento|questo paragrafo]]. = SSD = [descrizione] |
|
| Linea 138: | Linea 163: |
Indice
- Introduzione
- Cos'è la SWAP
- Perché la SWAP è necessaria?
- Di quanta SWAP ho bisogno?
- Ho poca SWAP. Devo reinstallare Ubuntu impostando più memoria SWAP?
- Come posso creare una memoria swap o aggiungerne altra?
- Come posso verificare se la SWAP è attiva?
- Come si fa ad attivare o disattivare temporaneamente la SWAP?
- La partizione di SWAP non è riconosciuta o utilizzata dal sistema. Che fare?
- Il mio computer ha poca RAM e utilizzando la SWAP rallenta molto. Che fare?
- SSD
- Perché non trovo la partizione di SWAP in Ubuntu 17.04?
- Ulteriori risorse
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 l'utilizzo della sola RAM non è più sufficiente per i processi attivi. 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/o con l'apertura di siti molto "pesanti"), suite per ufficio come LibreOffice, alcuni programmi di grafica e editing multimediale. Inoltre la swap facilita l'apertura contemporanea di più software che richiederebbero singolarmente 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 errore di un programma che comincia a consumare memoria in modo inaspettato. In casi come questo la swap permette al computer di continuare a funzionare, permettendo all'utente di salvare il lavoro corrente e/o di tentare di risolvere il problema.
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 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) una maggiore quantità di swap (fino al doppio delle dimensioni della RAM).
Utilizzo dell'ibernazione: per l'utilizzo di questa funzionalità si consiglia una swap di dimensioni superiori.
La seguente tabella rappresenta i casi più comuni e indica nelle ultime tre colonne 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 ulteriore swap consultare la domanda successiva.
Come posso creare una memoria swap o aggiungerne altra?
Per creare o aggiungere memoria swap sono possibili tre metodi:
- Creazione di una partizione di swap.
- Creazione automatica di un file di swap.
- Creazione manuale di un file di swap.
Queste tre procedure sono descritte nei paragrafi seguenti.
Creazione di una partizione di swap
Creare dello spazio non allocato nel disco rigido se non presente (consultare questa guida per maggiori informazioni).
- Creare una partizione di swap (consultare [[
Hardware/DispositiviPartizioni/PartizionamentoManuale#Esempio_1_-_partizioni_primarie|questo paragrafo]] per maggiori informazioni). Per indicazioni relative alla dimensione da dedicare alla partizione di swap consultare questo paragrafo.
Impostare il montaggio automatico per la partizione appena creata.
- Riavviare il sistema.
In caso la swap non fosse riconosciuta consultare questo paragrafo.
Creazione automatica di uno swap file
Installare il pacchetto dphys-swapfile.
- Riavviare il sistema.
Verrà quindi creato automaticamente un file di swap.
Si noti che tale file sarà di dimensioni doppie alla memoria RAM presente. Pertanto assicurarsi di avere a disposizione sufficiente spazio nel sistema.
Creazione manuale di un file di swap
Digitare nel terminale il seguenti comando per utilizzarlo come utente root:
sudo bash
Creare quindi un file avente la dimensione necessaria). Con il comando seguente verrà creato un file denominato swapfile grande 512MB (ossia 524288 blocchi da 1024 byte):
dd if=/dev/zero of=/myswapfile bs=1024 count=524288
Per convertire il file appena creato in file di swap, attribuirne i permessi e attivarlo, digitare in sequenza i seguenti comandi:
mkswap /swapfile
chown root:root /swapfile
chmod 0600 /swapfile
swapon /swapfile
exit
Per abilitare il file di swap ad ogni avvio aprire con i privilegi di amministrazione e con un editor di testo il file /etc/fstab e aggiungere la stringa
/swapfile swap swap defaults 0 0
infine salvare e chiudere il file.- Riavviare il computer.
Come posso verificare se la SWAP è attiva?
Digitare nel terminale
free
Il risultato sarà simile al seguente:
total used free shared buff/cache available Mem: 3929652 1347696 595748 134884 1986208 2123652 Swap: 4246652 0 4246652
dove la prima riga si riferisce alla RAM mentre la seconda alla swap.
Come si fa ad attivare o disattivare temporaneamente la SWAP?
Per disattivare la swap digitare nel terminale:
sudo swapoff -a
Al contrario, per attivare la swap digitare:
sudo swapon -a
La partizione di SWAP non è riconosciuta o utilizzata dal sistema. Che fare?
È una eventualità molto comune nei casi in cui è stata creata una nuova partizione di swap eliminando quella precedente, senza impostarne correttamente l'avvio. Infatti probabilmente la swap non viene montata all'avvio essendo cambiato il codice UUID.
In tal caso sarà sufficente:
- Identificare la partizione di swap e ottenere l'UUID (consultare [[Hardware/DispositiviPartizioni/IndividuarePartizioni|questa guida per maggiori informazioni).
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/fstab.
- Individuare la stringa relativa alla swap, quindi aggiornare il codice UUID.
- Salvare e chiudere il file.
- Riavviare il computer.
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:
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/sysctl.conf.
Aggiungere la riga:
vm.swappiness = 10
- Salvare e chiudere il file.
- Riavviare il computer per attuare le modifiche.
= In caso di più sistemi Linux installati nello stesso come devo regolarmi? =
Due o più sistemi Gnu/Linux installati in dual boot possono tranquillamente utilizzare la stessa partizione di swap. Non è pertanto necessario creare una nuova partizione di swap se ce n'è una già presente.
Nel caso la swap non venga riconosciuta dal sistema consultare questo paragrafo.
SSD
[descrizione]
Perché non trovo la partizione di SWAP in Ubuntu 17.04?
[descrizione]
