Memory-Bedarf bei X-Anwendungen

Alles rund um die möglichen Desktopumgebungen wie KDE, Gnome, XFCE usw. die es unter Linux gibt

Moderator: Moderatoren

Antworten
Hawelka
Newbie
Newbie
Beiträge: 18
Registriert: 29. Sep 2004, 19:43

Memory-Bedarf bei X-Anwendungen

Beitrag von Hawelka » 8. Nov 2004, 19:05

Hallo zusammen!

Mich erschüttert immer wieder, wie viel Memory die einzelnen KDE/Gnome-Anwendungen benötigen.

Einige Beispiele:

"kontact" -> run 50 MB
"Firefox" (ohne eine offene Seite) -> rund 36 MB
"Thunderbird" -> rund 37 MB
"quanta" -> rund 20 MB

Selbst "kamix" nimmt sich rund 6 MB.

Die Werte stammen aus der Spalte "VmRss" der Systemüberwachtung.
Addiere ich diese (so ungefähr) auf, deckt sich das auch mit dem Wert "Mem used" aus dem Programm "top" .

Werbung:
Benutzeravatar
robi
Moderator
Moderator
Beiträge: 3124
Registriert: 25. Aug 2004, 02:13

Beitrag von robi » 8. Nov 2004, 22:42

wenn das so währe, dann würde aber mein System schön zusammenbrechen. Schau dir mal den Befehl pmap an. Damit kannst du zu jedem Prozess die Speicherbereiche und Hinweise auf den jeweiligen Inhalt herauslesen. Du wirst feststellen, dass ein sehr großer Anteil auf Libs fällt. Wenn du jetzt als root mit

Code: Alles auswählen

for i in `ps -ef | cut -c9-15` ; do pmap $i ; done 
das von jedem Prozess des Systems machst und das Ergebniss in eine Datei umleitest, dann hast du einen systemweiten Überblick. Jetzt kannst du dich daran machen das ganze mit sort nach dem Speicherbereich zu sortieren, und da wirst du feststellen, dass es jede Menge Speicherbereiche gibt, die mehrfach benannt sind und in denen es immer wieder das selbe Lib und die selbe größe gibt. Inhalte von Libs werden also nur einmal in den Speicher geladen und können dann von vielen Prozessen benutzt werden. Bei der Berechnung der Verwendung des Speichers wird das allerdings nicht berücksichtigt, dass es solche mehrfach benutzte Speicherbereiche gibt. Die einzelnen Prozesse müssen immer alle Speicherbereiche mitführen die sie benutzen, das ganze funktioniert dann etwa so die Hardlinks bei Dateien (selbe INODE), erst der letzte gibt dann den Speicher wieder entgültig frei.

robi

Hawelka
Newbie
Newbie
Beiträge: 18
Registriert: 29. Sep 2004, 19:43

Beitrag von Hawelka » 9. Nov 2004, 11:42

Hallo robi!

Der Befehl "pmap" zeigt aber "vmSize" an. Also nicht nur den Anteil des physischen Memorys (VmRss), sondern die Gesamtgröße.

Dennoch war meine Rechnung falsch und deine Aussage richtig.
Ich dachte "VmRss" würde nur den "privaten" Memory-Anteil darstellen (ohne Shared-Memory).

Ich habe festgestellt, daß man unter /proc/$PID/status, den tatsächlichen privaten Memory-Anteil gut ermitteln kann.
Es müsste die Summe der Werte "VmData" "VmStk" und "VmExe" sein.

Der Status zu "kontact" sieht bie mir so aus:

Code: Alles auswählen

VmSize:    80620 kB
VmLck:         0 kB
VmRSS:     30892 kB
VmData:    28236 kB
VmStk:        80 kB
VmExe:       136 kB
VmLib:     45672 kB

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast