- Qual è lo scopo di una partizione di swap?
- Come faccio a sapere di avere una partizione di swap sufficiente? Non troppo / poco.
Il mio PC Ubuntu è usato per cose tipiche:
- Web (e-mail, Facebook, ecc.)
- Alcuni film
- il gioco è raro
Il mio PC Ubuntu è usato per cose tipiche:
Risposte:
La partizione di swap ha un paio di scopi.
Serve come RAM di "backup". Cioè, se il tuo computer esaurisce la RAM, utilizzerà l'area di scambio come fonte temporanea di più memoria. Più specificamente, "scamberà" gli elementi inutilizzati dalla RAM nell'area di scambio per lasciare spazio libero per le applicazioni che ne hanno bisogno in quel momento. Questo non è l'ideale in quanto la velocità di trasferimento dei dati sul disco rigido è significativamente inferiore rispetto alla normale RAM. In pratica ciò significa che è molto più lento recuperare informazioni dall'area di scambio.
Viene utilizzato quando il computer è in letargo. L'ibernazione comporta l'acquisizione di un'immagine della RAM nel suo stato attuale (come se un ISO rappresenti un'immagine) e la salva nell'area di scambio. Ricarica quindi questa immagine al riavvio del computer.
Per essere più utile, l'area di swap dovrebbe essere almeno (RAM * 1.5) sebbene si consiglia di più. Ad esempio, sul mio sistema con 3 GB di RAM, ho un'area di scambio di 7,2 GB.
Questo è molto simile alla domanda sulla dimensione "giusta" per una partizione di swap. Molte delle stesse informazioni fornite dalla mia risposta qui si applicano: fondamentalmente, se si desidera ibernare, in genere si desidera che lo spazio di swap sia almeno grande quanto la RAM e diverso da quello che è facilmente sufficiente un numero circolare come 1 o 2 GB. Poiché lo swap è molto più lento della RAM, se stai riempiendo più gigabyte di swap il tuo computer è quasi certamente diventato insolitamente lento.
Inoltre, non è necessario creare una partizione di swap: i file di swap (disponibili sui filesystem linux tradizionali) offrono le stesse prestazioni e rendono banalmente facile aggiungere più spazio di swap se si decide di non averne abbastanza.
qui un'informazione molto approfondita sullo swap
alcune persone dicono il doppio del tuo montone ma personalmente lo consiglio:
swap = 1,5 X RAM totale
Esempio :
se hai 2 GB di RAM -> swap = 1,5 x 2 = 3
PD: Ubuntu Desktop utilizza Swap to Hibernate (PC spento, senza alimentazione, stati del programma salvati). Se l'ibernazione è importante per te, avere più spazio di swap rispetto a ram + swap overflow.
Il free
comando può dirti quanto swap stai usando. Ad esempio su questa macchina:
$ free -m
total used free buffers cached
Mem: 1947 1863 84 312 758
-/+ buffers/cache: 792 1154
Swap: 4000 3 3997
mi mostra che ho 2 GB (1947 m) di RAM e che il sistema ne ha utilizzato gran parte. Tuttavia, 312 m viene utilizzato per i buffer I / O e il resto (758 m) che il sistema ha deciso di riempire con la cache del disco.
La cache del disco è interessante perché utilizza la memoria veloce anziché il disco lento per i suoi contenuti. I contenuti potrebbero essere ottenuti dal disco, ma vengono conservati in caso di necessità. Questo significa anche che ci sono 758m di memoria che possono essere recuperati in un istante, se necessario, perché il sistema sa che può invece trovare quei dati sul disco.
Ecco perché c'è una seconda riga che mostra che se non ci fossero buffer e cache, avrei metà della mia RAM (1154m) disponibile per l'uso.
La terza riga mostra che ho una partizione di swap eccessivamente grande (era lì e non stava facendo nulla) di cui sono stati usati 3m enormi. Questa è roba che il kernel non si aspetta di dover usare presto, quindi è stato bloccato sul "portico posteriore".
Mentre free
ti dà l'istantanea ora, vmstat
puoi darti un'immagine in esecuzione:
$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 3588 86236 316524 769132 0 0 14 13 126 81 4 1 95 0
0 0 3588 83872 316532 770512 0 0 0 20 264 1229 3 1 96 0
Ci sono molte informazioni lì, ma l'interesse è che non c'è traffico di swap-in (si) o swap-out (quindi). Ciò significa che non sto usando lo swap negli ultimi 10 secondi.
È possibile controllare l'area di scambio usata e disponibile usando il seguente comando:
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda10 partition 7812092 16 -1
Ho un laptop con un disco rigido lento, ma RAM relativamente alta (8 GB). In questa configurazione, ritengo che un'unità di scambio sia controproducente per i seguenti motivi:
Il recupero delle applicazioni dallo swap è lento , paragonabile al caricamento dell'applicazione da zero. Preferirei avere un ambiente che risponda rapidamente, anche se ciò significa che a volte devo chiudere e ricaricare le applicazioni, piuttosto che un ambiente che a volte mi si blocca inaspettatamente.
Se volessi la possibilità di ibernare, ciò significherebbe scrivere molti dati sul disco. Sarebbe un consumo costante della batteria se fosse fatto in modo persistente (il comportamento predefinito di swappiness 60), o se fosse fatto solo al momento del letargo (riducendo la swapiness), ci vorrebbe molto tempo prima di andare in letargo. Ho trovato che sospendere la RAM invece di sospendere su disco fosse abbastanza soddisfacente. Potrebbe rimanere sospeso per un paio di giorni e non sospenderebbe molto più rapidamente di un letargo completo.
Poiché il disco rigido è lento, preferisco mantenere 1 GB di RAM riservato per la cache del disco , scambiando efficacemente la memoria per la velocità. Ciò mantiene la mia macchina scattante, ma significa che posso usare solo 7 GB dei miei 8 GB di RAM per le applicazioni. Il software che uso per raggiungere questo obiettivo è un fork di earlyoom che uccide le vecchie schede del browser quando è stato utilizzato l'88% della RAM. Occasionalmente devo ricaricare le vecchie schede del browser che sono state eliminate.
Quando questo consiglio non si applica?
Se si dispone di un disco rigido veloce o di un SSD e si hanno meno dubbi sul consumo della batteria, gli svantaggi che ho descritto sopra non saranno applicabili. (Anche se i primi SSD potrebbero avere problemi con l'usura, credo che qualsiasi SSD venduto dal 2018 dovrebbe andare bene.)
Se la tua macchina ha pochissima RAM , o ti piace usare più applicazioni affamate di memoria allo stesso tempo, allora potresti aver bisogno di usare lo swap per completare il tuo lavoro, indipendentemente dagli svantaggi. Questo era il caso d'uso principale per lo scambio, prima che la memoria iniziasse a diventare più economica.
Se hai davvero bisogno del letargo (forse vuoi sospendere il tuo laptop e riaprirlo dopo qualche giorno senza caricarlo) allora hai bisogno di un'unità di scambio (consigliata almeno quanto la tua RAM).
Avvertimento: