Speicher läuft voll

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
TBT
Beiträge: 923
Registriert: 18.06.2003 08:39:36
Kontaktdaten:

Speicher läuft voll

Beitrag von TBT » 05.01.2008 20:14:56

Hallo,

ich habe nun seit einiger Zeit ein Lenny 64bit auf einem AMD DualCore 5000 am laufen.
Ich bin überrascht wie schnell es ist, und durch eine chroot Umgebung kann ich meine einzige
32-bit Anwendung "DBDesigner" auch per Mausklick mit schroot starten.

Nun habe ich das Problem, das der benutzte Hauptspeicher immer mehr wird. Dabei meine ich nicht,
dass er immer mehr in den Cache packt. Sondern der Ram wird wirklich vom System benutzt.
Der Wert "used" bei top erreicht normal die Maximalgrenze von 2GB, und dann fangen die Werte
"cached" und "buffers" an immer kleiner zu werden.
Wenn ca. 1,5GB vom Ram "echt" benutzt sind, kann top nicht mal mehr starten. Es kommt einfach keine
Ausgabe.
Da ich seit gestern nicht da war, hab eich das mal mehr oder weniger getestet: Innerhalb von 24 Stunden
war der Speicher voll, top und htop brachten keine Ausgabe mehr, ps bringt genau so viele Zeilen wie aktuell
auf den Bildschirm passen und bleibt dann stehen.

Der Rechner hat zu diesem Zeitpunkt nicht gemacht, außer einen leeren KDE Bildschirm zu präsentiere,
Benutzer war angemeldet aber keine Anwendungen gestartet.

Jemand eine Idee, wo ich anfangen kann zu suchen?

PS: einzige ungewöhnliche Meldung im syslog ist ein selten auftretendes

Jan 5 19:21:06 voyager kernel: VMBlock warning: DentryOpRevalidate: invalid args from kernel

Benutzeravatar
Meillo
Moderator
Beiträge: 9296
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Beitrag von Meillo » 05.01.2008 20:44:57

mit möglichst wenig Prozessen laufen lassen und dann durch hinzufügen von einzlnen Programmen herausfinden, welches das Problem hervorruft.

d.h. X und KDE beenden. Später dann vielleicht X mit einem simplen WM laufen lassen.

... ob es da "professionelle(re)" Methoden gibt, weiß ich nicht.
Use ed once in a while!

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 05.01.2008 20:47:48

Lass einfach mal htop nach Speichernutzung sortiert mitlaufen, oder z.B.

Code: Alles auswählen

top -b > Datei
Dann solltest du sehen Welches Programm den Speicher volllaufen lässt.

Benutzeravatar
TBT
Beiträge: 923
Registriert: 18.06.2003 08:39:36
Kontaktdaten:

Beitrag von TBT » 08.01.2008 12:52:46

in top und htop sind keine auffälligen Programme zu sehen,
welche jetzt viel Speicher benötigen.
Das Seltsamste dabei ist:

- mein Rechner brauchte laut htop gerade 1,2 GB Ram
- ich kopiere einen 2GB Ordner mit cp auf der Konsole
- der benutzte Ram wird weniger, das System gibt ihn munter frei
- nach dem Kopieren braucht er 300 MB, der Rest ist in buffer und cache, swap wird nicht benutzt

:?:

Benutzeravatar
TBT
Beiträge: 923
Registriert: 18.06.2003 08:39:36
Kontaktdaten:

Beitrag von TBT » 09.01.2008 21:05:06

durch Zufall habe ich meinen Rechner nun "erwischt"

beim täglichen cronjob, wo er die Datenbank für "locate" aktualisiert läuft der Speicher bis auf 1,3 GB benutzten Ram voll.

ein cp meines 2GB Verzeichnisses hat ihn wider auf Normalstand gebracht

Benutzeravatar
Meillo
Moderator
Beiträge: 9296
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Beitrag von Meillo » 09.01.2008 22:29:04

aber der Jobs sollte doch irgendwann abgeschlossen sein, und der Speicher wieder freigegeben werden (oder halt nur noch als Cache ausgewiesen werden).
Use ed once in a while!

Benutzeravatar
TBT
Beiträge: 923
Registriert: 18.06.2003 08:39:36
Kontaktdaten:

Beitrag von TBT » 11.01.2008 17:26:27

eben nicht, :evil:
der Speicher bleibt belegt und wird nicht als Cache ausgewiesen.

Erst ein kopieren einer großen Datei / eines großen Verzeichnisses
gibt ihn frei. Danach wird er dann als Cache ausgewiesen.

Benutzeravatar
TBT
Beiträge: 923
Registriert: 18.06.2003 08:39:36
Kontaktdaten:

Beitrag von TBT » 11.01.2008 17:43:35

aktuell: (nach Speicher sortiert)

Code: Alles auswählen

top - 17:28:41 up 10:02,  2 users,  load average: 0.03, 0.05, 0.00
Tasks: 116 total,   1 running, 115 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.0%us,  3.0%sy,  0.0%ni, 93.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2062968k total,  1558240k used,   504728k free,   110228k buffers
Swap:  4851620k total,      120k used,  4851500k free,  1141016k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5413 root      15   0  124m  54m 3612 S    0  2.7   0:05.87 ruby
 4144 root      15   0 87628  29m 6352 S    0  1.5   0:16.06 Xorg
 4349 sven      15   0  183m  24m  15m S    0  1.2   0:19.69 kicker
 3385 mysql     15   0  157m  23m 5140 S    0  1.2   0:00.13 mysqld
die speicherfressensten Prozesse während "updatedb"

Code: Alles auswählen

top - 17:31:26 up 10:04,  3 users,  load average: 0.94, 0.38, 0.12
Tasks: 124 total,   1 running, 123 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.5%us,  4.6%sy,  0.0%ni, 49.5%id, 43.9%wa,  0.2%hi,  0.3%si,  0.0%st
Mem:   2062968k total,  2032472k used,    30496k free,   187488k buffers
Swap:  4851620k total,      120k used,  4851500k free,  1207476k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5413 root      15   0  124m  54m 3612 S    0  2.7   0:05.87 ruby
 7167 root      18   0 55292  38m  560 S    0  1.9   0:00.22 sort
 4144 root      15   0 87628  29m 6352 S    0  1.5   0:16.10 Xorg
 4349 sven      15   0  183m  24m  15m S    0  1.2   0:19.83 kicker
wenn "updatedb" fertig ist, sieht es so aus:

Code: Alles auswählen

top - 17:38:27 up 10:11,  3 users,  load average: 0.60, 0.81, 0.44
Tasks: 119 total,   1 running, 118 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  0.0%sy,  0.0%ni, 99.5%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:   2062968k total,  1932424k used,   130544k free,   479164k buffers
Swap:  4851620k total,      120k used,  4851500k free,   199144k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5413 root      15   0  124m  54m 3612 S    0  2.7   0:05.87 ruby
 4144 root      15   0 87628  29m 6352 S    0  1.5   0:16.23 Xorg
 4349 sven      16   0  183m  24m  15m S    0  1.2   0:20.38 kicker
 3385 mysql     15   0  157m  23m 5140 S    0  1.2   0:00.13 mysqld
jetzt kopiere ich eine 3.8GB Datei, und danach ist der Speicher wieder frei

Code: Alles auswählen

top - 17:42:14 up 10:15,  3 users,  load average: 6.28, 3.04, 1.33
Tasks: 121 total,   1 running, 120 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2%us,  1.8%sy,  0.0%ni, 81.9%id, 15.8%wa,  0.2%hi,  0.2%si,  0.0%st
Mem:   2062968k total,  1178336k used,   884632k free,    21204k buffers
Swap:  4851620k total,      268k used,  4851352k free,   894436k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5413 root      15   0  124m  54m 3612 S    0  2.7   0:05.87 ruby
 4144 root      15   0 87628  29m 6352 S    0  1.5   0:16.31 Xorg
 4349 sven      15   0  183m  24m  15m S    0  1.2   0:21.12 kicker
 3385 mysql     15   0  157m  23m 5140 S    0  1.2   0:00.13 mysqld

Antworten