Was ist der Unterschied zwischen Gesamt- und freiem Speicher?

11

Ich habe ein Desktop-System, auf dem Centos 7 installiert ist. Es hat 4 Kern und 12 GB Speicher. Um Speicherinformationen zu finden, benutze ich den free -hBefehl. Ich habe eine Verwirrung.

[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

In der Gesamtspalte heißt es, dass die Gesamtsumme in 11 GB (das ist richtig) in der letzten verfügbaren Spalte 6,6 GB und 4,6 GB beträgt.

Wenn der verwendete Speicher 4,6 GB beträgt, sollte der verbleibende Speicher 6,4 GB betragen (11-4,6 = 6,4). Was ist die korrekte Interpretation der obigen Ausgabe? Was ist der Unterschied zwischen Gesamt- und verfügbarem und freiem Speicher? Bin ich nicht genügend Speicher, wenn ich für eine neue Anwendung 1 GB mehr benötige?

Shafiq
quelle
Ihre Frage ist also, warum es 6.6 und nicht 6.4 ist.
αԋɱҽԃ αмєяιcαη
1
Diese Frage reicht viele Jahrzehnte zurück. Wie verweist man auf Speicher, der derzeit als Cache verwendet wird, aber "verfügbar oder kostenlos" ist? dh. Es enthält Daten von der Festplatte und ist daher bei Bedarf "Cache". steht aber Apps zur Verfügung, falls sie malloc (). Der Unterschied, über den Sie sich Sorgen machen, ist nützlich, um uns mitzuteilen, wie viel Speicher von diesem „Wo soll dieser Wert abgelegt werden?“ verwendet wird, und wird seit den 80er Jahren alle paar Jahre diskutiert. es wird nicht wie immer geändert (die nervige.figure ist nützlich! und unverändert zu sein bedeutet nicht, dass wir jahrzehntealte Skripte ändern müssen, die es verwenden)
guiverc

Antworten:

13

man free Befehl mein Problem lösen.

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)
Shafiq
quelle