komischer kernel-Task nimmt sprungweise 90% CPU-Leistung

@Grady: tut mir leid, aber sag mir doch bitte, wo ich das geschrieben hab! Ich hab sowas nie gesagt. Ich kenne meine Aussagen ueberhaupt nicht aus irgendwelchen Apple Artikeln, da ich nicht mal einen gelesen hab.

Ich moechte einfach mal eine vernuenftige Aussage dazu, was die Spalte "Virtueller Speicher" nun aussagt! Meiner Meinung nach sind das ja Speicher von dylibs etc, die ein Prozess benoetigt + sein eigener Speicher (Code/Data Segment, Argumentblock und dynamisch zur Laufzeit allokierter Speicher)...

danke...
 
die hast du bekommen - der virtuelle Speicher der im Activity Monitor angezeigt wird ist der vom Prozess allokierte virtuelle Speicher. In der Spalte real Memory wird angezeigt wieviel physikalischer Speicher belegt ist.

Hier beschreibt Apple nochmal den Activty Monitor und was die einzelnen Werte bedeuten. VM steht fuer Virtual Memeory
http://docs.info.apple.com/article.html?artnum=107918
 
aha und warum unterscheiden sich diese Werte, solange das OS nicht swapped? bzw. warum unterscheiden sie sich so hoch?
Und weil wir gleich dabei sind, dann sag mir doch bitte, was du unter "virtuell allokiertem" Speicher verstehst... bzw. was du unter "physikalisch allokiertem" Speicher (unter der Annahme, dass das System nicht swapped!)
 
danke fuer deinen nachtraeglich eingefuegten link. Also zaehlen "gecachte" Daten dazu...
Trotzdem noch eine Frage: warum ist der Wert so hoch? Was genau wird gecached, obwohl nicht geswapped wird?
Und sonst... lassen wir das lieber.
 
Ein Programm teilt dem OS beim Start mit, wieviel Speicher es gern haette. Daraufhin allokiert das System den Speicher. Das Programm hat keinen Einfluss darauf wieviel angeforderter Speicher im RAM allokiert wird und wieviel im VM. Von daher gibt es keinen allokierten realen Speicher.

Wenn du mal im Terminal top eingibst siehst du eine andere Repraesentation der Werte. Dort findest du in der Spalte VSIZE und RSIZE die gleichen Werte die du im Activity Monitor siehst :)
 
sorry, hab mich schlecht ausgedrueckt: Was wird eigentlich ueberhaupt gecached/geswapped (bei einem 1MB Prozess und genuegend freiem Speicher). Denn swap ist ja wohl gleich cache oder ist hier die Apple Terminologie anders?
 
sorry, hab deine Antwort nicht gesehen...
Aber trotzdem: was ist dann der Unterschied zwischen Realem und Virtuellem Speicher! Beim Realen ist ja wohl auch der dynamisch allokierte Speicher dabei...
 
ok, weil wir schon bei top sind: schau mal in die man page:
Code:
RSIZE(delta)  Total resident memory size, including shared pages.
VSIZE(delta)  Total address space allocated, including shared pages.
 
Und in der Hilfe zur Aktivitätsanzeige ist zu finden:

"Bei virtuellem Speicher handelt es sich um Speicherplatz auf einer Festplatte, der als Puffer für Arbeitsspeicher verwendet werden kann.

Der reservierte Speicher wird gerade verwendet und kann nicht als virtueller Speicher ausgelagert werden.

Der aktive Speicher wird gerade verwendet, kann jedoch als virtueller Speicher ausgelagert werden.

Der inaktive Speicher wurde verwendet und kann neu zugeordnet werden.

Freier Speicher ist sofort verfügbar."

Je nach RAM-Ausstattung und freiem Festplattenplatz variieren diese Größen.

Das OS versucht, die maximalen Kapazitäten zum arbeiten bereitzustellen. Es ist sozusagen im "voreilendem Gehorsam" bemüht. Das wichtigste Indiz ist, wie oben schon erwähnt, ob überhaupt und wieviel Seitenauslagerungen stattfinden.

Gruß Torsten
 
hier wird das ganz Verstaendlich erklaert:

http://www.macosxhints.com/article.php?story=20010613140025184

It's called a 'buffer cache' because it buffers the i/o data on its way to/from the disk. When an App writes data it first will be deposited into the Apps file buffer memory region and will subsequently be requested via library routines to have the kernel (the OS) copy it from the App's buffer to disk. The kernel will oblige and will copy it first to its buffer -- the file system buffer cache. If the kernel requires more room in its buffer cache it will obtain it from the free memory. When this happens the free memory value, in say the Terminal's top command, will immediately show a reduction of free memory. At some later point the kernel will copy this data (referred to has dirty buffers) to the appropriate disk location. I believe the frequency of this being done is 30 secs -- called sync-ing to disk.

As the usage of X increases with time without rebooting the kernel file system buffer cache will fill with the most needed or most frequently used data. This should help explain why some people claim that the system appears to perform better the longer they've been running X. The needed data for doing things (or maybe most of it) is now all resident in memory (the kernel's buffer cache) and doesn't need to be read from disk. This is much much faster.

As mentioned above, the kernel will expand its buffer cache on demand by using the free or unused memory in the machine. This explains that with time (could be a short period of time or a long period of time -- it depends on system usage/workload) the system appears to be using all of the available RAM per the Terminal's top command.
 
ok, weil wir schon bei top sind: schau mal in die man page:
Code:
RSIZE(delta)  Total resident memory size, including shared pages.
VSIZE(delta)  Total address space allocated, including shared pages.

Und was willst du damit sagen?
 
Zurück
Oben Unten