GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:reale utilizzo della memoria?

se ho capito bene, nel seguente output prodotto da free, 3535m è la memoria libera effettiva disponibile per le applicazioni, vengono utilizzati solo 413m, è corretto? ho bisogno di qualche chiarimento sulla differenza tra Mem e -/+ buffer/cache row.

free -m
             total       used       free     shared    buffers     cached
Mem:          3949       3854         95          0          9       3431
-/+ buffers/cache:        413       3535
Swap:         2047       1322        725

Risposta accettata:

Il Mem: total la cifra è la quantità totale di RAM che può essere utilizzata dalle applicazioni. Questa è la RAM totale installata sul sistema, meno:

  • memoria riservata da dispositivi hardware (spesso memoria video se la scheda grafica non ha una propria RAM);
  • memoria utilizzata dal kernel stesso.

Quel totale include:

  • free :memoria attualmente utilizzata per qualsiasi scopo;
  • shared :un concetto che non esiste più. Viene lasciato nell'output per compatibilità con le versioni precedenti (ci sono script che analizzano l'output da free ). (Sui sistemi attuali in genere vedrai valori diversi da zero perché shared è stato riproposto per mostrare la memoria esplicitamente condivisa tramite un meccanismo di memoria condivisa. Sui sistemi precedenti, includeva file mappati da più di un processo e memoria condivisibile che rimaneva condivisa dopo fork() .)
  • buffers :memoria supportata da file e che può essere scritta su disco se necessario;
  • cache :memoria supportata da file e che può essere recuperata in qualsiasi momento (la differenza con i buffers è che i buffer devono essere salvati su disco prima di essere riutilizzati, mentre la cache è composta da elementi che possono essere ricaricati dal disco);
  • used -buffers/cache :memoria utilizzata dalle applicazioni (e non paginata per lo scambio).

In un pizzico, il sistema potrebbe funzionare senza buffer e cache, riservando RAM per le applicazioni ed eseguendo sistematicamente letture e scritture del disco senza alcuna memorizzazione nella cache. I -/+ buffers/cache le cifre indicano la quantità di RAM utilizzata direttamente dalle applicazioni (used colonna) e la quantità di RAM non utilizzata dalle applicazioni (free colonna).

Anche se questo può variare molto, un sistema sano in genere ha circa metà della sua RAM dedicata alle applicazioni e metà dedicata ai buffer e alla cache. A meno che tu non stia utilizzando un file server dedicato, il tuo sistema ha più RAM di quella necessaria per quello che stai facendo attualmente. Se il free - buffers/cache la cifra era bassa, ciò indicherebbe un sistema che non ha abbastanza RAM (contrariamente a una credenza diffusa, avere molta memoria dedicata a buffer e cache è importante per le prestazioni del sistema e provare a riservare più memoria per le applicazioni farebbe 99,99 % di sistemi più lenti).

Correlati:come indurre un particolare comando a pensare che sia una data diversa?

Lo swap linea è semplice, mostra la quantità di swap che è in uso (o dalle applicazioni o per tmpfs spazio di archiviazione) e l'importo che non lo è.


Linux
  1. Linux:limite all'utilizzo della memoria per un singolo processo Linux?

  2. Linux:determinare correttamente l'utilizzo della memoria in Linux?

  3. Comando Linux df

  4. Utilizzo della memoria virtuale da Java sotto Linux, troppa memoria utilizzata

  5. Recuperare l'utilizzo della CPU e l'utilizzo della memoria di un singolo processo su Linux?

Come controllare l'utilizzo della memoria in Linux

Comando gratuito Linux (controlla l'utilizzo della memoria)

limitare l'utilizzo della memoria in R sotto Linux

Determinazione corretta dell'utilizzo della memoria in Linux

Limita l'utilizzo della memoria per un singolo processo Linux

Memoria inattiva di Linux