Qual è la differenza tra memoria totale e memoria libera


11

Ho un sistema desktop in cui è installato Centos 7. Ha 4 core e 12 GB di memoria. Per trovare le informazioni sulla memoria uso il free -hcomando. Ho una confusione.

[user@xyz-hi ~]$ free -h
              total        used        free      shared  buff/cache   available
Mem:            11G        4.6G        231M         94M        6.8G        6.6G
Swap:          3.9G        104M        3.8G

Nella colonna totale, sta dicendo che il totale in 11 GB (è corretto), nell'ultima colonna disponibile, sta dicendo che 6,6 GB e utilizzato è 4,6 G.

Se la memoria utilizzata è 4,6 GB, la parte rimanente dovrebbe essere 6,4 GB (11-4,6 = 6,4). Qual è l'interpretazione corretta dell'output sopra Qual è la differenza tra memoria totale e disponibile e memoria libera? Ho esaurito la memoria, soprattutto se ho bisogno di 1 GB in più per alcune nuove applicazioni?


quindi la tua domanda è perché è 6.6 e non 6.4?
αԋɱҽԃ αмєяιcαη il

1
questa domanda risale a molti decenni fa. Come si fa a fare riferimento alla memoria attualmente utilizzata come cache, ma è "disponibile o gratuita". vale a dire. contiene dati dal disco e quindi è 'cache' se necessario; ma è disponibile per le app che dovessero malloc (). la differenza di cui ti preoccupi è utile per farci sapere quanta memoria viene utilizzata da questo "dove mettere questo valore" e viene discussa ogni pochi anni dagli anni '80. non è cambiato rimanente, come lo è sempre stato (l'annoying.figure è utile e di essere invariato non significa che dobbiamo modificare decenni vecchi script che lo utilizzano!)
guiverc

Risposte:


14

man free comando risolve il mio problema.

DESCRIPTION
       free  displays the total amount of free and used physical and swap mem‐
       ory in the system, as well as the buffers and caches used by  the  ker‐
       nel.  The  information  is  gathered by parsing /proc/meminfo. The dis‐
       played columns are:

       total  Total installed memory (MemTotal and SwapTotal in /proc/meminfo)

       used   Used memory (calculated as total - free - buffers - cache)

       free   Unused memory (MemFree and SwapFree in /proc/meminfo)

       shared Memory used (mostly) by tmpfs (Shmem in /proc/meminfo, available
              on kernels 2.6.32, displayed as zero if not available)

       buffers
              Memory used by kernel buffers (Buffers in /proc/meminfo)

       cache  Memory  used  by  the  page  cache and slabs (Cached and Slab in
              /proc/meminfo)

       buff/cache
              Sum of buffers and cache

       available
              Estimation of how much memory  is  available  for  starting  new
              applications,  without swapping. Unlike the data provided by the
              cache or free fields, this field takes into account  page  cache
              and also that not all reclaimable memory slabs will be reclaimed
              due to items being in use (MemAvailable in /proc/meminfo, avail‐
              able on kernels 3.14, emulated on kernels 2.6.27+, otherwise the
              same as free)
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.