Diese Fragen listen kurz das Format des free-Befehls auf, wobei zu beachten ist, dass Buffer Kernel-Speicher sind, der auf die Festplatte geschrieben werden muss, und Cache Dateidaten sind, die nicht auf die Festplatte geschrieben werden müssen.
Anders als in den meisten Fällen, in denen ich frei gelaufen bin, belegen Puffer auf meinem System über 10 % des RAM. Normalerweise sind Puffer ein kleiner Wert, fast ein Token.
Meine Frage ist, was genau befindet sich in dem Bereich namens Puffer? Kann ich mit lsof
danach suchen ? Besteht es aus offenen Dateibereichen, die nicht geleert wurden? Handelt es sich um speicherabgebildete Dateiregionen? Was ist das?
Das System läuft gut und es wird wenig Swap verwendet, daher ist die Leistung in Ordnung.
Akzeptierte Antwort:
free
zieht seine Daten aus /proc/meminfo
slkwr133701:/usr/src/linux # free
total used free shared buffers cached
Mem: 2053456 434572 1618884 0 77888 201820
slkwr133701:/usr/src/linux # cat /proc/meminfo
MemTotal: 2053456 kB
MemFree: 1618736 kB
Buffers: 77928 kB
....
Dies bezieht sich auf Speicher, der für die temporäre Block-I/O-Speicherung verwendet wird.
Der Kernel muss ständig Einheiten derselben Größe wie Block-I/O-Übertragungen, Netzwerkpakete und Socket-Puffer zuweisen und freigeben
Sie können sich Caches und Pufferzuordnungen besser ansehen, indem Sie slabtop
ausführen
Als Antwort auf Ihre Nutzungsfrage:Das System weist normalerweise mehr Blöcke zu, als es benötigt, aber wenn der „Speicherdruck“ zunimmt, werden diese zusätzlichen Blöcke freigegeben.