Arch Linux pensa che ho circa 16 concerti di ram quando ne ho solo 8


10

Ho fatto diverse ricerche e non riesco a trovare nulla su Google sul perché, ma arch ha assegnato 7,7 concerti a ram e 7,9 a scambio.

  • Ho solo 8 concerti ram.

  • ha assegnato più RAM allo scambio rispetto al normale

Come posso modificare le allocazioni?

uscita di cat /proc/meminfo: MemTotal: 8091960 kB MemFree: 4925736 kB MemAvailable: 6131188 kB Buffers: 268936 kB Cached: 1219460 kB SwapCached: 0 kB Active: 1527516 kB Inactive: 1301140 kB Active(anon): 768904 kB Inactive(anon): 711440 kB Active(file): 758612 kB Inactive(file): 589700 kB Unevictable: 32 kB Mlocked: 32 kB SwapTotal: 8300540 kB SwapFree: 8300540 kB Dirty: 1960 kB Writeback: 0 kB AnonPages: 1306968 kB Mapped: 382800 kB Shmem: 140100 kB Slab: 197964 kB SReclaimable: 163104 kB SUnreclaim: 34860 kB KernelStack: 6864 kB PageTables: 29200 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 12346520 kB Committed_AS: 3927808 kB VmallocTotal: 34359738367 kB VmallocUsed: 0 kB VmallocChunk: 0 kB HardwareCorrupted: 0 kB AnonHugePages: 186368 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 584316 kB DirectMap2M: 7716864 kB DirectMap1G: 0 kB


21
lo swap , per definizione, non utilizza la RAM.
user4556274

1
Lo stesso (o un po 'più) di swap allora hai la RAM è un buon inizio ... Ricorda anche che lo spazio di swap può essere usato se sei in letargo (metti la RAM sul disco). Ai vecchi tempi, uno diceva il doppio dello swap rispetto alla RAM, ma per Linux quella "regola" si applicava solo quando avevi 512 MB o meno (o era 256 MB). Vi erano tuttavia sistemi Unix (almeno uno) in cui il design era tale che si doveva sempre avere almeno il doppio della quantità di swap. I primi Linux avevano limiti su quanto swap per partizione, numero di partizioni di swap e / o swap totali. TBC
Baard Kopperud,

2
Continua ... Per decidere davvero quanto swap è necessario, è necessario controllare attentamente la quantità di memoria di cui i processi che l'utente (e i suoi utenti) eseguono effettivamente hanno bisogno, ma ricorda che lo swap non sostituisce una quantità di RAM insufficiente. Detto questo - e questo da qualcuno che ha solo 2 GB di RAM (non "solo" 8 GB come te) - la maggior parte dei sistemi sarà in grado di mantenere tutti i processi nella RAM. Tuttavia non è necessario , quindi lo swap viene utilizzato per memorizzare pagine di memoria "inutilizzate" dei processi - e talvolta interi processi "inutilizzati" - liberando così la RAM ... questa RAM "non utilizzata", viene quindi utilizzata come buffer e cache, per velocizzare le cose.
Baard Kopperud,

2
Il numero di 7,7 GB probabilmente proviene da ~ 300 MB di RAM fisica essendo stato assegnato in modo permanente al kernel. Quella RAM esiste ancora ma non può essere utilizzata per i normali programmi.
zwol,

1
Cosa ti porta a credere "Arch pensa di avere 16 GB di RAM"?
marcelm,

Risposte:


26

Ciò che ti sta dicendo è che hai 16 GB di memoria virtuale .

La memoria virtuale è il totale della RAM fisica e dello spazio di swap sommato.

È un modo per consentire al tuo sistema di eseguire più programmi di quanti ne abbia fisicamente lo spazio.

Quanto swap dovrebbe essere assegnato a una macchina è una domanda complicata e supponente; chiedi a 2 persone e ottieni 3 risposte :-)

La configurazione non è male e non consiglierei di apportare modifiche fino a quando non imparerai molto di più su come funziona la memoria virtuale e su come ottimizzarla. È un buon punto di partenza.


5
" La memoria virtuale è il totale della RAM fisica e dello spazio di swap sommato. " No, non lo è. Ad esempio, su un computer a 64 bit con 4 GB di RAM e 4 GB di scambio, posso mappare in memoria un file da 64 GB. Sono 64 GB di memoria virtuale, anche se RAM e swap aggiungono fino a 8 GB.
David Schwartz,

1
@DavidSchwartz è corretto. È più corretto dire che la memoria virtuale è ciò che può essere indirizzato come memoria, preferibilmente con qualcosa che la supporti. Che qualcosa può essere un chip RAM, una porta I / O, una partizione di swap, un file di swap su disco o un file normale senza alcun significato speciale per il sistema operativo o il gestore della memoria. Inoltre, non è necessario che funzioni in modo tale che se scrivi qualcosa e poi lo rileggi immediatamente, rileggi ciò che hai scritto. (Ad esempio alcuni registri I / O funzionano in questo modo.)
un CVn il

1
È la "versione per principianti di Unix 101". Inoltre non ho menzionato come le pagine eseguibili possano essere aggiunte come pagine di sola lettura alla mappa di memoria e altre cose divertenti come la sovrallocazione. Come approssimazione di primo livello, tuttavia, VM = RAM + swap è abbastanza vicino ed è tutta questa domanda.
Stephen Harris,

"Ciò che ti sta dicendo è che hai 16 GB di memoria virtuale." - Non c'è modo di saperlo dal momento che l'OP non ha mai spiegato perché pensa che Arch abbia 16 GB.
marzo

1
@StephenHarris Sono approssimazioni di primo livello che causano l'incomprensione dietro questa domanda. Le semplificazioni vanno bene, purché indichino che sono semplificazioni o che sono effettivamente corrette.
David Schwartz,
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.