it-swarm.com.de

Wie wird die Ausgabe des Befehls "free -m" interpretiert?

Die Ausgabe von free -m ist:

                     total    used    free    shared  buffers  cached
Mem:                  595      482     112         0       63     324
-/+ buffers/cache:              93     501
swap:                   0        0       0

Welcher Wert des verwendeten Speichers ist korrekt, 482 oder 93?

48
amoooc

Sie haben 112 MB vollständig freien Speicher, ABER die 501 MB, die Sie sehen, sind ohne "zwischengespeicherten" Speicher. Dies bedeutet, dass das Betriebssystem einige Dinge in Ihrem Speicher abgelegt hat, um schneller zu sein. Es nennt dies "gebraucht" (daher ist Ihre "freie" Nummer nur 112), aber es ist tatsächlich für Sie verfügbar, wenn Sie es brauchen.

Das ist eine gute Sache, denn nicht genutzter Speicher ist nutzloser Speicher. Der zwischengespeicherte Speicher kann bei Bedarf gelöscht werden. Das alte Zeug "Ich muss den Speicher aufräumen", das die Leute für Windows 95 gemacht haben, wird hier nicht benötigt: Es ist alles in Ordnung und glücklich :)

Die gesuchte Nummer ist 501 frei (in Megabyte wegen -m).

siehe als Referenz diese Seiten:

http://www.linuxatemyram.com/
http://www.itworld.com/it-managementstrategie/280695/making-sense-memory-usage-linux

38
Nanne

Interpretieren der Ausgabe von free:
Die erste Zeile der free -Ausgabelisten:

  • total Ihr gesamter physischer Speicher (keine Virtualisierung vorausgesetzt)
  • used Wie viel davon wird derzeit verwendet (von irgendetwas)
  • free Wie viel davon ist völlig kostenlos (überhaupt nicht verwendet)
  • shared (nie etwas da, ignoriere diese Spalte)
  • buffers Von Kernel-Puffern verwendeter Speicher
  • cached Für den Cache verwendeter Speicher

Die letzten beiden Elemente, Cache und Puffer, sind Speicher, der nicht bestimmten Benutzerprozessen zugeordnet ist. Es ist vom Kernel reservierter Speicher, um die Leistung insgesamt zu verbessern, aber kein "Anwendungsspeicher". Diese Bereiche werden je nach Kernel-Richtlinien in Bezug auf Caching, Speicherdruck, E/A-Muster der Anwendung usw. größer oder kleiner.

Da es sich bei diesen beiden Spalten nicht um benutzerdefinierten Speicher handelt und die Zonen (praktisch auf Null) verkleinert werden können, wenn Benutzerzuordnungen dies erfordern, sind sie gewissermaßen "frei" - es gibt RAM, das freigegeben werden kann vom Kernel, wenn Ihre Apps es aktiv benötigen.

Das sagt Ihnen die zweite Zeile. Es entfernt den Puffer und den Cache-Speicher aus der Spalte used (das ist die Bedeutung von -) und fügt sie der Spalte free hinzu (+). (Rundungsproblem wird auftreten.)

(Die letzte Zeile zeigt den Status Ihres Swap Space.)

Mit freundlicher Genehmigung: https://unix.stackexchange.com/a/33549/14497

In Ihrem Fall sind 112 MB der vollständig freie Speicher, und wenn Sie den für die Zwischenspeicherung verwendeten Speicher berücksichtigen, der den Benutzeranwendungen zugewiesen werden kann , wenn benötigt; dann ist 501 MB der tatsächlich maximal verfügbare Speicher.

25
saji89

Die Antwort von @ saji89 ist ausgezeichnet, aber in diesen Tagen gibt free -m nicht mehr die -/+ buffers/cache -Zeile aus, sondern fügt die Menge der verfügbaren RAM in eine neue available -Spalte ein in der ersten Zeile zum Beispiel:

[email protected]_master:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:          61406        1571         506       17131       59328       42150
Swap:             0           0           0
[email protected]_master:~$ free -V
free from procps-ng 3.3.10

Sie können das Commit to free (1) lesen, mit dem die Zeile entfernt wurde in ihrem Repo . Auch das Commit zum Hinzufügen der neuen available -Spalte .

10

Der Befehl free zeigt die Informationen zu nicht verwendetem und verwendetem Speicher und Auslagerungsspeicher an.

Unten finden Sie die Erklärung von http://www.linfo.org/free.html

In der ersten Zeile mit der Bezeichnung Mem wird die physische Speichernutzung einschließlich der den Puffern und Caches zugewiesenen Speichermenge angezeigt. Ein Puffer, auch Pufferspeicher genannt, wird normalerweise als Teil des Speichers definiert, der als temporärer Speicherort für Daten vorgesehen ist, die an ein externes Gerät wie eine Festplatte, eine Tastatur, einen Drucker oder ein Netzwerk gesendet oder von diesem empfangen werden.

Die zweite Datenzeile, die mit -/+ puffers/cache beginnt, zeigt die Größe des physischen Speichers an, der derzeit für den Systempuffercache reserviert ist. Dies ist insbesondere in Bezug auf Anwendungsprogramme von Bedeutung, da alle Daten, auf die von Dateien auf dem System zugegriffen wird, die mithilfe von Systemaufrufen read () und write ()1 ausgeführt werden, diesen Cache passieren. Dieser Cache kann den Datenzugriff erheblich beschleunigen, indem das Lesen oder Schreiben von oder auf die Festplatte oder eine andere Festplatte vermieden wird.

Die dritte Zeile, die mit Swap beginnt, zeigt den gesamten Swap-Speicher sowie an, wie viel davon derzeit verwendet wird und wie viel noch verfügbar ist.

Analysieren Sie die Speichernutzung Ihres Systems

Sie haben den Befehl free mit der Option '-m' verwendet, mit der das Ergebnis in Megabyte angezeigt wird

-m, --mega
              Display the amount of memory in megabytes.

Gesamtspeicher ist 595 (Gebraucht + frei)

Gebraucht: 482 Kostenlos: 112

482 MB von 595 MB werden von Ihrem System verwendet, wobei nur 93 MB von aktiven Programmen verwendet werden und sich die restlichen 324 MB im Cache befinden

Sagen wir also, wenn Sie in Zukunft ein Programm ausführen, das mehr als 120 MB benötigt. Alle 112 MB (derzeit frei) werden ausgegeben und die restlichen 8 MB werden aus dem nicht aktiven Programmpuffer/Cache entnommen.

Bearbeiten : Gefunden Link , was eine gute Erklärung bietet.

4
devav2