Scambia le dimensioni della partizione per 4 GB di RAM


27

Sto pensando di installare la versione di Ubuntu 9.04. Quanto spazio dovrei dedicare alla partizione di swap. Ricordo di averlo impostato per raddoppiare la dimensione della RAM quando ho installato molto tempo fa. A quel tempo la mia RAM era di 256 MB. Quindi avevo impostato la partizione di swap su 512 MB.

Risposte:


15

Direi che una buona regola empirica è davvero proprio come menzionato sopra. 2 volte la memoria fisica. Qualcosa da considerare qui, mentre è possibile utilizzare una partizione di swap più piccola e sarà sufficiente nella maggior parte dei casi normali, se si desidera che questo sistema sia stabile come una roccia, seguirei davvero la raccomandazione da 8 GB. In effetti raccomando 2 * RAM + 1 MB in modo che ci sia assolutamente spazio per scambiare 2 intere copie della memoria. Questo evita lo scenario "shell game" che può avere ripercussioni negative sulle prestazioni. Ciò che questo farà per te è garantire un livello di resilienza se dovessi incontrare un evento straordinario con il tuo sistema.

Ho visto scenari in cui le applicazioni si comportano male in ambienti incustoditi e prima che tu lo sappia, il tuo sistema inizia a rallentare a una scansione.

A seconda di ciò che stai facendo, potresti persino essere in grado di rinunciare completamente al file di scambio. Lo spazio aggiuntivo per il sistema operativo è utile quando si eseguono molte applicazioni contemporaneamente. Tuttavia, se si intende eseguire solo alcuni processi, non si intende interagire con la GUI disabilitando il file di scambio potrebbe essere appropriato.

Ma se hai un file di scambio, utilizzo sempre la formula di dimensionamento di seguito.

[(2 x  RAM) + 1 MB] = Swap File Size

Raccomando anche di mettere il file di scambio su un disco separato quando possibile, poiché ciò aumenterà le prestazioni in quanto il sistema operativo può scambiare dentro e fuori contemporaneamente a lettura / scrittura dal disco di dati.

Spero che questo sia utile.


1
Continui a dire file di scambio: questo è molto raro con Linux, in genere lo scambio è una partizione separata dell'unità e non un file all'interno di un'altra partizione.
Justin Smith,

14

Linux può funzionare abbastanza felicemente senza swap se hai abbastanza RAM per tutto ciò che gli chiedi di fare, anche se è comunque una buona idea avere qualche swap in quanto a volte può ottenere prestazioni migliori quando si avvicina al riempimento della memoria spingendo un po 'di recente -utilizzato roba su disco liberando RAM da utilizzare come cache / buffer per operazioni IO attualmente attive.

Inoltre, avere un po 'di swap, indipendentemente dalla quantità di RAM che hai, consente una piccola rete di sicurezza aggiuntiva se un'app si comporta in modo anomalo e necessita di più RAM del solito, oppure scegli di fare qualcosa di insolito che richiede molta memoria.

In generale, non sono d'accordo con 2xRAM su macchine moderne. Se hai abbastanza cose da finire con pagine da 8 Gb da scambiare su disco, il tuo sistema probabilmente avrà comunque una velocità completamente inutilizzabile da quel punto. Anche 1xRAM può essere eccessivo in molti casi IMO. Ricorda che puoi aggiungere spazio di swap sotto forma di un file in qualsiasi momento, quindi puoi aggiungere più swap in un secondo momento se ritieni che sia necessario. ad esempio, per aggiungere un ulteriore GB di swap:

dd if=/dev/zero of=/path/to/newfile bs=1024 count=1048576
mkswap /path/to/newfile
swapon /path/to/newfile

e per rimuoverlo (una volta non più necessario):

swapoff /path/to/newfile
rm /path/to/newfile

(ricorda che lo scambio di file è un po 'più lento di quello diretto a una partizione o volume logico poiché hai un sovraccarico del filesystem e un maggiore potenziale da considerare per la frammentazione)

L'ibernazione, cioè su laptop / netbook, può complicare un po 'le cose poiché IIRC Linux memorizza lo stato di memoria nello spazio di scambio, quindi hai sicuramente bisogno di più della dimensione della RAM come scambio se intendi usare l'ibernazione (e non so se deve essere swap basato su partizione / volume o se può essere usato basato su file - dovrà sicuramente essere qualcosa menzionato in fstabquello che può essere visto molto presto nel processo di avvio quando il disco ram iniziale è in uso e la tua radice reale non è ancora montata ).

Questi punti possono essere tutti discutibili però. Se si dispone di terabyte di spazio di archiviazione su disco, l'allocazione di 8 Gb per lo scambio sarà probabilmente una difficoltà molto piccola!


9

Secondo Ubuntu SwapFAQ qui il calcolo è di 2 * MB di RAM. Quindi in questo caso 8 GB. Realisticamente, tuttavia, non dovresti aver bisogno di più di 2 GB.


si! 8 GB sono notevoli!
darthvader,

5
Il doppio della dimensione della RAM sembra eccessivo, soprattutto con grandi quantità di RAM: ho 8 GB e vedo che funziona meglio con uno scambio da 1 GB invece di uno da 16 GB, dal momento che c'è già così tanto margine nella memoria principale.
Andrew Scagnelli,

@A Corretto - Il motivo per cui ho detto che realistico non avrai bisogno di più di 2 GB. I calcoli per questo sono vecchi. Tuttavia, la maggior parte degli articoli online è più vecchia di 2 anni.
BinaryMisfit

Si diceva che non hai mai avuto bisogno di uno scambio più grande di 300 MB. Ora, con 4 GB di RAM, ho due partizioni di scambio da 1 GB in due diversi dischi che non uso mai (settato swapiness a 10).
voyager,

Ho notato che non uso l'ibernazione / sospensione sul desktop. (Anche in questo caso è possibile creare uno script per creare un file di scambio prima dell'ibernazione, quindi eliminarlo al risveglio).
voyager,

3

È ancora necessario prenotare una partizione per lo scambio? Oggi ho pensato che funzionasse anche su un file sulla partizione di sistema. E quindi suppongo che puoi facilmente modificare le dimensioni se vuoi inserire più memoria o se pensi di non aver bisogno di così tanto spazio di scambio.

Modifica : ecco come si può fare (a partire dal kernel 2.6 di Linux).


Oggi funziona come Windows? Non lo sapevo; era lontano da Linux da molto tempo ormai.
Darthvader,

Puoi anche usare tuxonice.net
voyager il

I file di scambio sono stati possibili per un po 'di tempo ormai. Le partizioni di swap funzionano molto meglio.
Justin Smith,

3

prima di tutto, se vuoi usare l'ibernazione ecc., avrai bisogno di una partizione di swap almeno della dimensione della tua RAM.

in secondo luogo, ricorda che la RAM è dimensionata in multipli di 2 e non multipli di 10, quindi dichiarare 1 GB di spazio per 2 stick 512 MB di RAM (ciascuno 536870912 bytes) non è sufficiente, in quanto questo è solo 1000 MB (1000000000 byte) e non 1024 MiB ( 1073741824 bytes) come richiesto ... invece dovrai prendere una calcolatrice e farlo1024 * 1024 * 1024 * # of GiB

leggi anche: http://it.wikipedia.org/wiki/Binary_prefix e man 8 unitssulla tua scatola di Linux

quindi, per quattro GB di RAM, lo swap deve essere almeno 4294967296 byteso 4295 MButilizzare tutte le funzionalità.

poiché questo è piuttosto grande, dovrebbe essere sufficiente per tutte le tue esigenze


1
Non è necessaria una partizione di swap per sospendere. Puoi semplicemente utilizzare un file di scambio (che non deve esistere fino alla sospensione). superuser.com/questions/21020/…
voyager

1

Dalla mia esperienza personale con Linux, ho scoperto che la formula convenzionale di 2 volte la dimensione della RAM si adatta solo ai sistemi più vecchi con 1 GB - 2 GB di RAM.

Tuttavia, per i sistemi più recenti, con più concerti di RAM, suggerisco quanto segue

Se RAM <2 GB, quindi Spazio di swap = 2 x RAM

Se RAM = 2 GB - 8 GB, quindi Scambia spazio = RAM

Ciò non avrà alcun impatto sulle prestazioni del sistema anche durante l'esecuzione di calcoli e applicazioni ad alte prestazioni.

Anche se consiglio di utilizzare la quantità originale di RAM se la memoria è almeno 4 GB. Ciò dovrebbe mantenere il sistema stabile ed efficiente.

Se RAM = 8 GB - 64 GB, quindi Scambia spazio = 0,5 x RAM

In questo caso, consiglierei di utilizzare un massimo di 4 GB di RAM in quanto è più che sufficiente, ad eccezione delle applicazioni multimediali.


La funzione di dimensioni mem-to-swap è discontinua a 2 GB e di nuovo a 8 GB. Il che significa che è "sbagliato" almeno su una dimensione della discontinuità ...
einpoklum - ripristina Monica

0

L'Ubuntu SwapFaq probabilmente rispondere a molte delle vostre domande. Con quantità maggiori di RAM potresti trarre vantaggio dalla modifica della "swappiness" predefinita come indicato in questo articolo.


vago e non utile. guida obsoleta.
ahnbizcad,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.