Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Linux/UNIX Linuxverfechter finden hier Weggefährten.

Output von free und sync

Diskussion: Output von free und sync im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige Hi, folgendes listing erzeugt bei mir gerade Fragezeichen: Code: mathias@mini:~$ free total used free shared buffers cached Mem: 2765756 ...

Antwort
Alt 19.08.09, 12:04   #1 (permalink)
Senior Member
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard Output von free und sync

Anzeige

Hi,

folgendes listing erzeugt bei mir gerade Fragezeichen:

Code:
mathias@mini:~$ free
             total       used       free     shared    buffers     cached
Mem:       2765756    1454552    1311204          0     150716     674532
-/+ buffers/cache:     629304    2136452
Swap:      5859364          0    5859364
mathias@mini:~$ sync && free
             total       used       free     shared    buffers     cached
Mem:       2765756    1454508    1311248          0     150728     674528
-/+ buffers/cache:     629252    2136504
Swap:      5859364          0    5859364
mathias@mini:~$ sync && free
             total       used       free     shared    buffers     cached
Mem:       2765756    1454556    1311200          0     150732     674528
-/+ buffers/cache:     629296    2136460
Swap:      5859364          0    5859364
mathias@mini:~$ sync && free
             total       used       free     shared    buffers     cached
Mem:       2765756    1454540    1311216          0     150740     674524
-/+ buffers/cache:     629276    2136480
Swap:      5859364          0    5859364
mathias@mini:~$
Die "buffers" Spalte zeigt ja die Benutzung von Kernel Buffern an und "sync" sorgt doch dafür, dass der Buffer Cache auf die Platte geschrieben wird - richtig? Wenn ja, warum steigt dann mit jedem "sync" der Wert in der "buffers" Spalte? Ergibt das Sinn?

cu
serow
Serow ist offline   Mit Zitat antworten
Alt 19.08.09, 12:54   #2 (permalink)
Member of Honour
 
Registriert seit: 06.10.01
mido Leistung: Facit NTK
Likes: 1
Standard

Es handelt sich hierbei nicht um einen Buffer für auf die Platte zu schreibende Daten, sondern um Daten, welche in weiser Voraussicht im RAM belassen wurden. Wenn ich das noch richtig in Erinnerung habe, werden z. B. Inodes von "eventuell bald zu gebrauchenden" Dateien in diesem Bereich gespeichert.
mido ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 19.08.09, 14:37   #3 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

Okay, in der man page steht aber
Zitat:
buffers used by the kernel
wozu meine Meinung nach auch der Buffer Cache gehört - aber gut. Wo hast du die Info dann her? Hab das so noch nie gelesen.

cu
serow
Serow ist offline   Mit Zitat antworten
Alt 19.08.09, 15:01   #4 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Der Kernel-Buffer umfasst ja einiges mehr als nur den Festplatten-Cache. Auch Netzwerk-Cache, Liste von geladenen Dateien/Bibliotheken, Tastaturbuffer usw. fallen in den Kernel-Buffer-Bereich.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 19.08.09, 18:25   #5 (permalink)
Member of Honour
 
Registriert seit: 06.10.01
mido Leistung: Facit NTK
Likes: 1
Standard

Zitat:
Okay, in der man page steht aber
Zitat:
Zitat: buffers used by the kernel
wozu meine Meinung nach auch der Buffer Cache gehört - aber gut. Wo hast du die Info dann her? Hab das so noch nie gelesen.
Vorweg möchte ich sagen, dass ich keine korrekte Erklärung abgeben kann, folgend also lediglich meine Interpretation der mir bekannten Informationen zu diesen Vorgängen;
Mir wurde mal erklärt, dass für den Eintrag "buffers" von free zwei Funktionen verantwortlich sind: Der page cache und die dentries (Informationen zu Inodes welche häufig abgerufen werden - mir entgeht der Sinn, sollten diese Informationen auf der Festplatte (mit Ausnahme dem SWAP-Space) gespeichert werden). Der page cache beinhaltet Daten auf welche kürzlich zugegriffen wurde, auch wenn die Daten aktuell von keinem Prozess verwendet werden. Wird dann eine Lese- oder Schreib-Operation von einem Programm gefordert, wird zuerst geprüft, ob sich die Daten nicht eventuell schon im page cache befinden. Mal abgesehen von "dirty pages" (pages welche "reif" für den swap sind) werden die Daten aus dem page cache nur auf die Festplatte geschrieben, wenn dies ausdrücklich von einem Programm welches mit den Daten arbeitet verlangt wurde.
Der page cache beinhaltet also keine "wichtigen" Daten - die Daten im page cache können verlohren gehen ohne dass irgend ein Datenverlust auf der Festplatte entsteht. Diese Geschichten werden durch den Kernel verwaltet, das ist korrekt. Mir ist nicht bekannt, ob sonst bei diesen Vorgängen etwas auf die Platte ausgelagert wird (abgesehen vom swapping).

Was verstehst du denn unter "dem Buffer Cache"? Etwa den Festplatten-Cache? Auf diesen wirkt sich in der Tat sync aus. Dieser ist direkt auf der Festplatte verbaut, wird aber nicht in die Berechnung von free mit einbezogen.

Zu dem Phänomen, dass der buffers-Wert steigt, wenn du sync && free ausführst, fällt mir nur folgende, mögliche Erklärung ein: Durch sync werden irgend welche neuen Daten in den page cache aufgenommen. Eventuell wird das generell erst nach einem sync gemacht, das ist allerdings nichts weiter wie eine Möglichkeit, Vermutung wäre schon zuviel.

Übrigens, mittels folgenden Kommandos kannst du den page cache bzw. den dentry cache leeren:
echo 1 > /proc/sys/vm/drop_caches # leert page cache
echo 2 > /proc/sys/vm/drop_caches # löscht dentries
echo 3 > /proc/sys/vm/drop_caches # beides

Allerdings ist das Speichermanagement eine Sache, welche du getrost dem Betriebssystem überlassen kannst. Wenn mehr Speicher benötigt wird, als wirklich frei ist, wird eben auch vorher von page cache / dentries belegter Speicher verwendet.

Ich hoffe meine Erklärung ist verständlich und auch halbwegs richtig (trotz inzwischen 29 Stunden ohne schlaf). Ich würde mich freuen, wenn jemand etwas wirklich fundiertes zu dem Thema wüsste (bitmuncher? ;-)). Die Frage, ob sich sync verringernd auf den "buffers"-Wert auswirkt, kann ich nicht eindeutig verneinen. Fakt ist, dass mehrere Prozesse einen Einfluss auf diesen Wert haben.
mido ist offline   Mit Zitat antworten
Alt 20.08.09, 05:03   #6 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Zitat:
Original von little_Newbie
Was verstehst du denn unter "dem Buffer Cache"? Etwa den Festplatten-Cache? Auf diesen wirkt sich in der Tat sync aus. Dieser ist direkt auf der Festplatte verbaut, wird aber nicht in die Berechnung von free mit einbezogen.
Der Festplatten-Cache wird sehr wohl in den free-Werten (bzw. dessen Buffer-Feld) einbezogen. Linux verwendet verfuegbaren RAM als HDD-Cache und dieser gerade verwendete Cache wird ueblicherweise bei free in die Buffer-Berechnung aufgenommen. Dieser HDD-Cache ist auch unabhaengig vom hardwareseitigen Cache, der wiederum durch voellig andere Routinen gehandhabt wird, naemlich innerhalb der HDD-Treiber, waehrend der "abgezweigte" RAM fuer den HDD-Cache in den Dateisystem-Treibern implementiert ist.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 20.08.09, 09:04   #7 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

So hatte ich es auch in Erinnerung. Wenn ich "Buffer Cache" sage meine ich immer den von Linux verwalteten HDD cache.

Aber wie lässt sich dann der steigende buffer Wert erklären?

cu
serow
Serow ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Operating Systems » Linux/UNIX » Output von free und sync
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Handy sync mit Outlook Pat90 Applikationen 2 07.04.09 15:39
Palm sync via IRDA 01 Linux/UNIX 4 14.03.08 18:48
solved:Gentoo installation:emerger --sync thaos2 Linux/UNIX 3 07.02.07 17:35
Sync LED leuchtet ROT mmichisurf Network · LAN, WAN, Firewalls 4 11.12.04 22:56
Grafikkarte Vertical Sync aus -> Graka hängt... RipdEaTh Windows 2 10.08.04 22:29


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61