Ho 16 GB di RAM. Ho bisogno di uno spazio di 32 GB?

250

Ho letto molti punti in cui la regola empirica per lo spazio di swap è raddoppiare la quantità di RAM fisica. Tuttavia, 32 GB sembrano MOLTO. Ho bisogno di così tanto? Ho bisogno di questa quantità elevata di RAM fisica?

    
posta Tamás Szelei 16.06.2011 - 20:52

22 risposte

171

Dipende interamente da ciò che pensi di fare con la macchina. Ad esempio se si trattasse di un server Sap allora sì, aggiungerei 32gb di swap (abbiamo le scatole al lavoro con 128gb di ram e 32gb di swap). Se stavi manipolando immagini e video di grandi dimensioni, allora ha senso avere un piccolo scambio. 32 GB è probabilmente eccessivo.

Tuttavia non direi zero swap.

Nell'improbabile eventualità che si esaurisca la RAM - magari aprendo un file di grandi dimensioni, perfeziona una lunga scheda in esecuzione in firefox, non importa, in tal caso il kernel OOM killer si avvierà e inizierà ad uccidere le applicazioni per ottenere memoria indietro. In queste circostanze è del tutto possibile che perderete i dati mentre le applicazioni vengono uccise. Tuttavia, se si dispone di un po 'di swap, il sistema proseguirà, acquisendo lo swap e consentendo al sistema di continuare. Il sistema rallenta quando avviene uno scambio pesante, si nota e si analizza prima che tutto lo scambio si esaurisca. Anche il disco è molto economico, quindi perché non lo scambio?

Chiunque dica "non è necessario cambiare" senza chiederti cosa stai facendo effettivamente con il tuo computer sta facendo ipotesi. Mentre si può benissimo fare molto poco con il tuo computer che mangia RAM, è ancora meglio fare le domande su cosa hai intenzione di fare con esso prima di fare il giudizio avventato che non hai "bisogno" di scambiare. A mio modesto parere

    
risposta data popey 16.06.2011 - 23:33
221

Ecco un ottimo consiglio da RedHat: Spazio di swap di sistema consigliato

Un estratto dallo stesso link:

  

Negli anni passati, la quantità raccomandata di spazio di scambio aumentava linearmente con la quantità di RAM nel sistema. Ma poiché la quantità di memoria nei sistemi moderni è aumentata a centinaia di gigabyte, ora si riconosce che la quantità di spazio di swap di cui un sistema ha bisogno è una funzione del carico di lavoro della memoria in esecuzione su quel sistema. Tuttavia, dato che lo spazio di swap viene solitamente designato al momento dell'installazione e che può essere difficile determinare in anticipo il carico di lavoro della memoria di un sistema , ti consigliamo di determinare lo scambio di sistema utilizzando la seguente tabella.

Tabella corrente (a dicembre 2017):

Amount of RAM in the system   Recommended swap space         Recommended swap space 
                                                             if allowing for hibernation
---------------------------   ----------------------------   ---------------------------
2GB of RAM or less            2 times the amount of RAM      3 times the amount of RAM
2GB to 8GB of RAM             Equal to the amount of RAM     2 times the amount of RAM
8GB to 64GB of RAM            At least 4 GB                  1.5 times the amount of RAM
64GB of RAM or more           At least 4 GB                  Hibernation not recommended

Tabella originale:

Amount of RAM in the System     Recommended Amount of Swap Space
4GB of RAM or less              a minimum of 2GB of swap space
4GB to 16GB of RAM              a minimum of 4GB of swap space
16GB to 64GB of RAM             a minimum of 8GB of swap space
64GB to 256GB of RAM            a minimum of 16GB of swap space
256GB to 512GB of RAM           a minimum of 32GB of swap space 
    
risposta data ssapkota 17.06.2011 - 00:22
51

Argh. Le risposte su questo post sono molto sbagliate e questo risulta uno dei primi risultati in una ricerca su Google per "Quanto swap?"

Per prima cosa, un buon punto di riferimento sono le Domande frequenti sugli swap di Ubuntu

Questa FAQ fa un punto importante che nessuno menziona qui, e cioè (enfatizza il mio)

  

A volte, un programma di grandi dimensioni (come OpenOffice, Neverwinter Nights o un editor video) rende l'intero sistema necessario memoria extra. Un numero significativo di pagine utilizzate da questi programmi di grandi dimensioni durante l'avvio può essere utilizzato solo per l'inizializzazione e quindi non viene più utilizzato. Il sistema può scambiare quelle pagine e liberare la memoria per altri programmi o anche per la cache del disco . In questi casi, lo swap verrà utilizzato per aiutare il sistema a gestire qualsiasi carico aggiuntivo.

Quindi, lo swap non è solo per ibernazione! Questa attività, sostituendo pagine non utilizzate, può essere utile in alcuni scenari e dannosa per gli altri. È utile perché consente di liberare memoria affinché il sistema utilizzi altrove, ma è dannoso quando lo scambio è troppo aggressivo e si scambia le pagine che effettivamente si desiderano. Ciò è particolarmente vero su un sistema desktop in cui le applicazioni possono rimanere inattive per lunghi periodi di tempo, ma l'utente si aspetta comunque prestazioni immediate quando lo si riattiva. Il controllo per quanto sia aggressivo, viene indicato come swappiness

Le Domande frequenti sullo scambio di Ubuntu trattano questo poco alla voce Cos'è la swappiness e come posso cambiarla? il valore predefinito su un sistema Ubuntu è 60, mentre le FAQ raccomandano un valore di 10 per un computer desktop.

Quindi, direi che è generalmente molto importante non avere un sistema con assolutamente nessuno spazio di swap, come alcuni raccomandavano su questa domanda, a meno che non si conoscano determinati scenari di utilizzo molto specifici per il tuo sistema e sono molto consapevole delle conseguenze che potrebbe avere. (Personalmente, non esiste una situazione in cui eseguirò un sistema senza swap) In uno scenario Out of Memory senza scambio, il sistema avvierà i processi di eliminazione (generalmente quello che ha causato l'OOM)

    
risposta data brent 08.06.2012 - 16:08
24

Probabilmente no. Se hai intenzione di ibernare il tuo computer (sospensione su disco), avrai bisogno di almeno 16 GB. Se non si iberna, è sufficiente lasciare alcuni gigabyte per lo scambio (4-8 max.)

    
risposta data bandi 16.06.2011 - 20:56
12

Dall'esperienza posso dire questo:

Per quello che ho visto usando 4GB di RAM per 3 anni, Ubuntu ha avuto un utilizzo di swap di circa 60 MB, ma solo quando si eseguono compiti molto intensi. Un paio di settimane fa ho iniziato a utilizzare un PC con 16 GB di RAM e l'utilizzo dello swap è rimasto sullo 0% per sempre. Ho fatto più compilazioni, rendering di video e altre attività intensive. Non c'è mai stato un cambio di swap. Neanche un cambio di 1KB.

Fondamentalmente, in Ubuntu, più RAM di memoria si dispone, meno probabile sarà l'utilizzo o lo scambio per qualsiasi attività. 16 GB di RAM o persino 8 GB di RAM sono più che sufficienti. Ho fatto con i PC Virtualbox PC 8 da 16 GB (ognuno tra 1 GB e 2 GB di RAM). Ho compilato e reso un video a 720p e nemmeno in quelle condizioni lo scambio è cambiato.

Detto ciò, la regola del doppio ram della memoria non dovrebbe applicarsi ai sistemi basati su Linux, ancor più se si dispone di più memoria. Dovresti comunque avere la stessa dimensione dello swap uguale alla tua dimensione del ram o se hai intenzione di ibernare, dato che il processo di ibernazione afferra tutto in ram e lo mette in swap, che è il motivo per cui hai bisogno di una dimensione minima uguale alla tua dimensione del ram per lo scambio.

L'altro dettaglio è che alcune app (non tutte) continueranno a forzare la lettura da swap. Quindi avere un po 'è buono. Disattivarlo completamente è molto brutto nel caso in cui si arrivi al punto di memoria insufficiente o OOM. A questo punto, se non si dispone di swap, non è possibile che il kernel possa scambiare / utilizzare diversi usi di ram app e alla fine inizi a uccidere quelli meno utilizzati.

Se aiuta a prendere decisioni sul desktop di casa, dopo aver aggiornato questa risposta in più di 4 anni, ho usato un PC ram da 16 gb, da 32 gb e ora da 64 gb. Test con solo 128 MB di swap ha rivelato che non avevo bisogno di uno swap più grande, tranne se volevo andare in letargo. Ho usato gli ambienti cloud su di essi, lxc, virtualbox, vino, tu lo chiami. Ho reso i video con openshot, kazam, freno a mano, audacia. Ho usato gimp, blender, Inkscape e persino la suite completa di LibreOffice. Ho persino giocato a vapore e in nessuno di questi scenari è stato usato lo swap. Naturalmente, alla fine verrà usato se si finisce per usare l'intera quantità di RAM in un modo o nell'altro, ma in generale più ram hai, meno cambi avrai bisogno.

Solo i miei 2 centesimi.

    
risposta data Luis Alvarado 13.02.2012 - 07:50
8

No, non hai bisogno di 32 GB finché non usi funzioni come la sospensione su disco.

    
risposta data AlexTheBird 16.06.2011 - 20:58
5

Nella maggior parte dei casi, direi che non ne hai affatto bisogno. Forse se si modificano file di immagine molto grandi, o qualche altra app che ha bisogno di un sacco di ram, potrebbero essere necessari alcuni.

Non ho mai visto nessun utilizzo sul mio sistema, simile al tuo. Infatti, una volta, l'ho disabilitato per una settimana o due accidentalmente, e non ho mai notato alcun problema. Ma conservo ancora circa 5 GB per la mia unità di scambio, principalmente perché ho più di 1 TB disponibile e non uso tutto lo spazio così com'è.

    
risposta data Marty Fried 13.05.2012 - 04:00
3

Se si utilizza la sospensione, è sicuro avere il massimo della quantità di RAM necessaria.

Per una regola generale su quanto swap avere, leggi qui:

link

Nel tuo caso, direi che 4 GB sarebbero sufficienti per abbinare la tua RAM.

    
risposta data roadmr 13.05.2012 - 06:19
2

Se la tua RAM è superiore a 1 GB, di solito è sufficiente per Ubuntu. La regola "Swap = RAM x2" è per i vecchi computer con 256 o 128mb di ram.

Quindi 1 GB di swap è in genere sufficiente per 4 GB di RAM. 8 GB sarebbero troppi.

    
risposta data Emerson Hsieh 13.05.2012 - 04:00
2

Se utilizzi la sospensione, lo swap dovrebbe avere almeno lo stesso importo della tua RAM fisica.

    
risposta data gemue2010 13.05.2012 - 06:17
1

Hai solo bisogno di swap se vuoi usare la modalità ibernazione per il resto è uno spazio inutile sul tuo hard disk.

    
risposta data Rens 16.06.2011 - 21:43
1

Ho un portatile con 4 GB di RAM e Ubuntu 16.04. Dopo l'avvio consuma circa 1 GB di RAM e anche in questo caso Inkscape (ad esempio) non viene eseguito (il monitor di sistema mostra più del 50% di RAM libera). Inkscape si blocca Dopo aver applicato un file di swap, viene eseguito come previsto, anche se non viene utilizzato un singolo byte di swap. Quindi raccomando una partizione di swap (o file di swap). A proposito della sua dimensione, puoi usare la regola david6.

    
risposta data Danilo 24.06.2016 - 03:54
0

Penso che tu abbia preso il contrario. Raccomandazione SWAP , è necessario ~ 16GB. Quindi SWAP dovrebbe essere 1/2 della dimensione effettiva della RAM. Ma questo è ancora un sacco di spazio. Dipende da cosa ti serve. Direi che se non si utilizza "ibernazione", mantenere circa da 4 GB a ~ 8 GB se si può permettere lo spazio su disco. Dato che hai 16 GB, presumo che potresti utilizzare un computer che ha bisogno di risorse potenti ... quindi forse potrebbe essere utile avere anche SWAP da 16 GB a 32 GB.

Ho 2 GB di RAM e 1 GB di SWAP. Lo faccio abbastanza bene, ma questa è solo la mia opinione. Guarda gli altri commenti / suggerimenti e guarda cosa dicono.

    
risposta data waynerod10 17.06.2011 - 09:56
0

Non sono riuscito a trovare riferimenti per citazioni qui, ma se hai intenzione di utilizzare un'applicazione in cui devi scambiare interi dati nella RAM, avresti bisogno di 'RAM size + 128 MB' o '1,25 volte di dimensione RAM '(ho dimenticato quale era corretto) supponendo che tu abbia RAM più di 2 GB. Se la RAM è pari o inferiore a 2 GB, si consiglia di avere due volte la dimensione della RAM come swap. Ho seguito questa raccomandazione nella mia precedente organizzazione per IBM AIX basata su un documento di IBM. Credo che questo sia vero per la maggior parte di * nix poiché l'uso dello swap è di spostare i dati dalla RAM in modo sicuro nel caso in cui la RAM non sia sufficiente per gestire i dati da caricare in memoria. il comando 'libero' può essere usato per valutare quanto swap è usato nella realtà.

    
risposta data Jamess 17.06.2011 - 14:10
0

Ho un laptop Mac, che lascio per mesi. Anche se molto meglio di Windows, la memoria si insinua, in particolare con il tuo browser, se lo fai continuare. Quindi alla fine la memoria si riempie. Ora, se hai scambiato, come hanno notato altre persone, puoi sopravvivere, notare e uccidere qualcosa. Ma più al punto, se hai lo swap, alcune pagine vengono scambiate e puoi continuare.

Quindi, se hai intenzione di lasciare la macchina per un lungo periodo, lo swap è un modo pratico per liberare memoria dalla spazzatura di zombi. Certo, ti ci vorrà più tempo per riempire 16 g di me con 3 GB, ma è comunque bello. A tale scopo, 4Gb lo farà.

    
risposta data Dov 17.06.2011 - 21:09
0

Se si tratta di un laptop, mantenendo almeno lo swap uguale alla quantità di RAM, per consentire completamente la sospensione. Manterrei comunque un importo pari alla quantità di RAM anche se un desktop, ma quello sono solo io; sarà scarso in un desktop.

    
risposta data haziz 13.05.2012 - 05:36
0

Ricorda questo:

  

Normalmente devi dimensionare lo spazio di swap in circa 2 volte la memoria principale per sistemi con meno di 2 GB di RAM o circa 1x memoria principale se ne hai di più

Quindi, se hai 4 GB di RAM, non dovresti mai avere bisogno di swap a meno che non sia in ibernazione Lo swap richiesto sarebbe di circa 3 - 3,5 Gb, non più di quello .
Quindi usa il buon senso e non sprecare spazio su disco

    
risposta data Ashu 13.05.2012 - 06:41
0

Se stai costruendo file molto grandi, ad esempio, se stai costruendo sistemi di traduzione automatica su un laptop (okay, perché vuoi farlo?) Posso dire che i miei professori mi stanno facendo ;-) ) la risposta è un chiaro sì, attualmente in questo momento mi sto pentendo di non averlo fatto scambiando 32 GB ....

Per l'uso occasionale di Ubuntu per lavoro d'ufficio e internet, non utilizzerai mai 2 GB di swap, ma in realtà non c'è una risposta chiara, tutto dipende da ciò che farai sul tuo computer .. .

    
risposta data Hakim Jonas Ghoula 18.03.2013 - 10:35
0

Troppe informazioni e opinioni diverse.

Le mie suggerite Ubuntu linee guida per il desktop:

 amount of RAM      recommended swap    with hibernation
----------------    ----------------    ----------------
 less than 4GB        2x RAM size         3x RAM size
   up to 8GB              4GB             2x RAM size
   up to 16GB             4GB            1.5x RAM size
  16GB or more            4GB           No extra needed
    
risposta data david6 18.04.2014 - 03:05
0

Nessuno sembra aver menzionato un'altra ragione per avere uno spazio di swap significativo significa rallentare notevolmente il sistema piuttosto che non riuscire a eseguire i programmi quando si inizia a esaurire la memoria. Se hai un bilanciamento del carico in primo piano che reindirizza in caso di fallimento potresti voler mantenere lo scambio piccolo (ad esempio 1 GB), se vuoi che i programmi rallentino prima, allora prenderei in considerazione 4 GB + radice quadrata della dimensione della memoria, e se li vuoi per rallentare veramente prima che le cose muoiano, quindi mantenere una dimensione minima della memoria di 1,25 volte (a patto che gli umani impazienti non si arrendono prima - questo sarebbe più appropriato per i lavori in background).

Configuro 1 GB per le mie macchine di sviluppo e produzione come standard, quindi non importa quanta o poca memoria reale hanno, hanno abbastanza per compilare tutti i programmi che voglio e per scambiare programmi praticamente mai usati per utilizzare la memoria liberata per il buffering del disco.

In confronto, ho 64 GB di swap sul mio portatile da 32 GB, che è un po 'eccessivo, ma volevo assicurarmi che continuasse a funzionare anche se lentamente, e sapevo che avrei eseguito più memoria virtuale affamata macchinari. Un effetto inaspettato è quando hai 32GB + intervallo di memoria, quindi riprendi dalla modalità di sospensione (che ricarica 32 GB di memoria) è notevolmente più lento di un avvio a freddo.

    
risposta data iheggie 19.03.2017 - 17:19
0

No, non hai sicuramente bisogno di 32 GB. Come regola per un sistema desktop, direi che lo swap dovrebbe essere compreso tra 4 GB e RAM fisica + un paio di GB . Quindi per la RAM fisica da 16 GB, lo swap può essere da 4 GB a 18 GB, forse.

Le cose che dovrai scambiare nello spazio di swap equivale approssimativamente alla quantità di RAM fisica utilizzata dalle applicazioni che rimangono residenti, ovvero i servizi di sistema e le applicazioni che restano in esecuzione mentre li stai utilizzando (al contrario delle attività che viene eseguito una volta quindi si chiude). Su un sistema desktop diciamo che puoi lasciare aperto un browser, un elaboratore di testi, un programma di posta elettronica e un editor di grafica o video mentre lavori su qualcos'altro. Questi possono facilmente occupare oltre 2 GB, forse oltre 4 GB. Quindi forse 6 GB di swap sono appropriati.

Come regola generale, non fa male avere alcuni GB in più del necessario. Lo swap di solito non verrà utilizzato se si dispone di molta RAM, ma in alcuni casi è utile quando alcuni processi utilizzano una quantità eccessiva e si inizia a diminuire e si possono impedire i processi di omissione del sistema.

Nota: se si desidera utilizzare la sospensione del sistema operativo, sono necessari tutti i 16 GB come accennato, ma i computer moderni non beneficiano molto della modalità di sospensione. Se si dispone di un SSD veloce, l'avvio può essere più rapido o più veloce rispetto alla sospensione dalla modalità di ibernazione, mentre i computer moderni utilizzano energia trascurabile mentre in modalità di sospensione l'utilizzo di energia dall'ibernazione non è un fattore importante.

    
risposta data thomasrutter 20.03.2018 - 00:11
0

Da SwapFaq di Ubuntu:

Perché ho bisogno di scambiare?

Programmi che consumano memoria A volte, un programma di grandi dimensioni (come LibreOffice, Neverwinter Nights o un editor video) rende l'intero sistema necessario memoria extra. Un numero significativo di pagine utilizzate da questi programmi di grandi dimensioni durante l'avvio può essere utilizzato solo per l'inizializzazione e quindi non viene più utilizzato. Il sistema può scambiare quelle pagine e liberare la memoria per altri programmi o anche per la cache del disco. In questi casi, lo swap verrà utilizzato per aiutare il sistema a gestire qualsiasi carico aggiuntivo.

Ibernazione (sospensione su disco) La funzionalità di sospensione (sospensione su disco) scrive il contenuto della RAM nella partizione di scambio prima di spegnere la macchina. Pertanto, la partizione di swap dovrebbe essere grande almeno quanto la dimensione della RAM. L'implementazione di ibernazione attualmente utilizzata in Ubuntu, swsusp, richiede una partizione di swap o sospensione. Non può utilizzare un file di scambio su un file system attivo.

Circostanze imprevedibili eventi imprevedibili possono e avverranno (un programma sta diventando pazzo, alcune azioni richiedono molto più spazio di quanto pensassi o qualsiasi altra combinazione imprevedibile di eventi). In questi casi, lo scambio può darti un ritardo in più per capire cosa è successo o per finire quello su cui stai lavorando.

Ottimizzazione dell'uso della memoria Poiché i dischi rigidi meccanici sono considerevolmente più lenti della RAM (SSD - Solid State Drive - l'archiviazione non è lenta quanto le unità fisiche, ma ancora più lenta della RAM), quando è necessario un file (sia un file di dati come un video, eseguibili come Firefox o librerie), il kernel di Linux legge il file in RAM e lo mantiene lì, in modo che la prossima volta che ne hai bisogno, sia già in RAM e l'accesso ai dati sia molto Più veloce. Le porzioni di RAM che accelerano la lettura del disco sono chiamate "memoria cache". Noterai che fanno un'enorme differenza in termini di reattività. Il kernel di Linux sposta automaticamente la RAM riservata dai programmi, ma non realmente utilizzata, allo scambio, in modo che possa servire allo scopo migliore di estendere la memoria cache.

Ottimizzazione delle prestazioni dello scambio Poiché lo spazio di swap utilizza un dispositivo disco, questo può causare problemi di prestazioni in qualsiasi sistema che utilizza lo spazio di swap in modo significativo perché lo stesso sistema potrebbe utilizzare lo stesso dispositivo disco allo stesso tempo che è richiesto per le operazioni di scambio. Un modo per ridurre questo problema è di scambiare lo spazio su un'unità fisica diversa in modo che la competizione per quella risorsa sia ridotta o eliminata.

Di quanto swap ho bisogno?

Per meno di 1 GB di memoria fisica (RAM), è altamente raccomandato che lo spazio di swap, come minimo di base, sia uguale alla quantità di RAM. Inoltre, è consigliabile che lo spazio di scambio sia il doppio della quantità di RAM in base alla quantità di spazio su disco disponibile per il sistema a causa di rendimenti decrescenti.

Per i sistemi più moderni (& gt; 1 GB), lo spazio di swap deve essere almeno uguale alla dimensione della memoria fisica (RAM) "se si utilizza la sospensione", altrimenti è necessario un minimo di round (sqrt (RAM) ) e un massimo del doppio della quantità di RAM. L'unico svantaggio di avere più spazio di swap di quello che effettivamente userete, è lo spazio su disco che riserverete per questo.

Il "ritorni decrescenti" significa che se hai bisogno di più spazio di scambio del doppio della tua RAM, è meglio aggiungere più RAM dato che l'accesso Hard Disk Drive (HDD) è di circa 10³ più lento dell'accesso alla RAM, quindi qualcosa che richiederebbe 1 secondo, ci vogliono improvvisamente più di 15 minuti! E ancora più di un minuto su Solid State Drive (SSD) veloce ...

Scenari di esempio

    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
    
risposta data Jebin Philipose 17.04.2018 - 12:11

Leggi altre domande sui tag