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

[HaBo]

 
Linux/UNIX Linuxverfechter finden hier Weggefährten.

Output von free

Diskussion: Output von free im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige Hi, bin grade mal dabei den Output von free ganzheitlich zu verstehen. Dabei hab ich auch schon viel gegooglet, ...

Antwort
Alt 17.10.10, 11:09   #1 (permalink)
Senior Member
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard Output von free

Anzeige

Hi,

bin grade mal dabei den Output von free ganzheitlich zu verstehen. Dabei hab ich auch schon viel gegooglet, lese aber teilweise widersprüchliches:

Code:
mathias@ironman:~$ free 
             total       used       free     shared    buffers     cached
Mem:       5783804    5749784      34020          0      32452    5486148
-/+ buffers/cache:     231184    5552620
Swap:      7812492        792    7811700
mathias@ironman:~$
Soweit bin ich bisher:

Mem - total: gesamter physikalischer Hauptspeicher
Mem - used: alloziierter Hauptspeicher
Mem - free: total - used
Mem - buffers: input und output queues für Prozesse
Mem - cached: disk cache
Swap - total: Summe aller swap Partitionen
Swap - used: benutzer Swap
Swap - free: total - used

Der Wert Mem - shared steht wahrscheinlich für RAM den sich Prozesse teilen - wohl meistens in Form von Shared Libraries würde ich vermuten. Wenn das so ist irritiert mich aber der Wert von 0!

Mit der "-/+ buffers/cache" hab ich noch Probleme:

Zitat:
Die Zeile mit -/+ buffers/cache zeigt an, wie viel Speicher aus Anwendungssicht frei beziehungsweise belegt ist. In diesem Beispiel belegen auf meinem System laufende Anwendungen 278 MB, während 606 MB frei zur Verfügung stehen.
Zitat:
The -/+ buffers/cache line shows how much memory is used and free from the perspective of the applications. Generally speaking, if little swap is being used, memory usage isn't impacting performance at all.
Zitat:
The second line of data, which begins with -/+ buffers/cache, shows the amount of physical memory currently devoted to system buffer cache. This is particularly meaningful with regard to application programs, as all data accessed from files on the system that are performed through the use of read() and write() system calls1 pass through this cache. This cache can greatly speed up access to data by reducing or eliminating the need to read from or write to the HDD or other disk.
Das passt doch irgendwie nicht zusammen oder? Was stimmt denn nun? Ist das überhaupt richtig, was ich oben zusammengeschrieben habe?

cu
serow
Serow ist offline   Mit Zitat antworten
Alt 17.10.10, 11:55   #2 (permalink)
Member of Honour
 
Benutzerbild von easteregg
 
Registriert seit: 14.09.07
easteregg Leistung: Pentium Ieasteregg Leistung: Pentium I
easteregg eine Nachricht über ICQ schicken
Likes: 62
Standard

ich kann dir nur ne indirekte lösung bieten
nimm
Code:
free -o
das blendet die zeile aus

ansonst schliese ich mich hiermit der frage an
__________________
» Flattr mich! - Wenn dir mein Beitrag geholfen hat! «
<| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |>
easteregg ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 18.10.10, 01:01   #3 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Die buffers/cache-Zeile zeigt nur den Disk-I/O-Cache an, wobei used der von aktuell laufenden Programmen genutzte Cache ist und free der Cache, der aktuell nicht benutzt wird, aber reserviert ist. Im Prinzip ist der Wert für die Laufzeit des Systems aber irrelevant, da dieser Speicher jederzeit für Programme freigegeben werden kann.
__________________
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 18.10.10, 08:53   #4 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

Hi,

wenn das wirklich stimmt habe ich folgendes Problem damit: Du sagtest used ist der Disk-I/O-Cache, der gerade von Programmen benutzt wird. Jetzt sollte sync ja genau diesen Cache auf Platte schreiben und damit sollte der Wert doch auf 0 fallen oder?

Code:
mathias@mini:~$ free
             total       used       free     shared    buffers     cached
Mem:       2803344     706756    2096588          0      54904     228216
-/+ buffers/cache:     423636    2379708
Swap:      3334140          0    3334140
mathias@mini:~$ sync
mathias@mini:~$ free
             total       used       free     shared    buffers     cached
Mem:       2803344     706756    2096588          0      54904     228216
-/+ buffers/cache:     423636    2379708
Swap:      3334140          0    3334140
mathias@mini:~$
Tut er leider nicht ...

ciao
serow
Serow ist offline   Mit Zitat antworten
Alt 18.10.10, 09:13   #5 (permalink)
Member of Honour
 
Benutzerbild von easteregg
 
Registriert seit: 14.09.07
easteregg Leistung: Pentium Ieasteregg Leistung: Pentium I
easteregg eine Nachricht über ICQ schicken
Likes: 62
Standard

da ist ja dann aber auch der lesepuffer mit dabei`
__________________
» Flattr mich! - Wenn dir mein Beitrag geholfen hat! «
<| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |>
easteregg ist offline   Mit Zitat antworten
Alt 18.10.10, 10:13   #6 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

Hi,

stimmt, der Lesebuffer wird von sync nicht geleert. Dennoch müsste der Wert doch absinken oder?

Ich hab nochmal was getestet:

Code:
mathias@mini:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          2737        995       1741          0        105        405
-/+ buffers/cache:        484       2252
Swap:         3255          0       3255
mathias@mini:~$ dd if=/dev/zero of=./out bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.0159818 s, 656 MB/s
mathias@mini:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          2737       1006       1731          0        105        415
-/+ buffers/cache:        485       2252
Swap:         3255          0       3255
mathias@mini:~$ sync
mathias@mini:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          2737       1007       1730          0        105        415
-/+ buffers/cache:        485       2252
Swap:         3255          0       3255
mathias@mini:~$
Nach dem sync ist absolut nichts passiert obwohl das dd ja den Buffer Cache hätte füllen sollen.

cu
serow
Serow ist offline   Mit Zitat antworten
Alt 18.10.10, 10:57   #7 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Als Schreibbuffer wird zumeist der in der Festplatte vorhandene Cache genutzt und nur äußerst selten der RAM.
__________________
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 18.10.10, 11:02   #8 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

Hmm ich hab das immer als doppelte Cache Architektur gesehen ... Der Festplatten-Cache ist ja auch vllt 16MB oder so und damit doch sehr klein.

cu
serow
Serow ist offline   Mit Zitat antworten
Alt 18.10.10, 13:03   #9 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Es wird ja nicht alles, was geschrieben wird, in einem Cache gehalten, gerade wenn es um große Datenmengen/Dateien geht.
__________________
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 18.10.10, 22:53   #10 (permalink)
 
Registriert seit: 04.02.06
shodan Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Zitat von bitmuncher Beitrag anzeigen
Die buffers/cache-Zeile zeigt nur den Disk-I/O-Cache an, wobei used der von aktuell laufenden Programmen genutzte Cache ist und free der Cache, der aktuell nicht benutzt wird, aber reserviert ist. Im Prinzip ist der Wert für die Laufzeit des Systems aber irrelevant, da dieser Speicher jederzeit für Programme freigegeben werden kann.
Ich denke das dies nicht so ist und ein kleiner blick in die free.c sollte dies bestätigen.

Erstmal mit meminfo (/proc/meminfo) alle werte auslesen und dann ausgeben:

PHP-Code:
meminfo();
printf("             total       used       free     shared    buffers     cached\n");
printf(
            
"%-7s %10Lu %10Lu %10Lu %10Lu %10Lu %10Lu\n""Mem:",
            
S(kb_main_total),
            
S(kb_main_used),
            
S(kb_main_free),
            
S(kb_main_shared),
            
S(kb_main_buffers),
            
S(kb_main_cached)
        ); 
und weiter unten geschieht folgendes wenn der Parameter -o nicht gesetzt wurde:
PHP-Code:
if(!old_fmt){
            
unsigned KLONG buffers_plus_cached kb_main_buffers kb_main_cached;
            
printf(
                
"-/+ buffers/cache: %10Lu %10Lu\n"
                
S(kb_main_used buffers_plus_cached),
                
S(kb_main_free buffers_plus_cached)
            );

Somit Präferiere ich folgendes Zitat:
Zitat:
The -/+ buffers/cache line shows how much memory is used and free from the perspective of the applications.
Die Sourcen findet ihr hier.

Falls jemand doch noch andere infos und quellen hat wäre ich auch dran Interessiert.

mfg
shodan ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Operating Systems » Linux/UNIX » Output von free
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



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