View previous topic :: View next topic |
Author |
Message |
Mr. Anderson l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/2070781095424ebf0894d33.png)
Joined: 22 Apr 2004 Posts: 762
|
Posted: Tue Mar 06, 2007 11:56 pm Post subject: Speicherlecks aufdecken - womit? |
|
|
Ich meine mich zu erinnern, dass es Tools gibt, die einem helfen Speicherlecks in C oder C++-Programmen aufzudecken. Leider weiß ich nicht mehr wie sie heißen und wie nützlich die sind. Gibt mir jemand bitte nen Tipp?
Hintergrund: X hat m. E. seit dem Update auf testing (und damit auf 7.2) irgendwo ein ganz massives Speicherleck. Es kann nicht normal sein, dass X irgendwann 500 MB RAM braucht. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Anarcho Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/1030393113423afb9086043.jpg)
Joined: 06 Jun 2004 Posts: 2970 Location: Germany
|
Posted: Wed Mar 07, 2007 5:41 am Post subject: |
|
|
Fürs Memory Debugging:
Code: | * dev-util/valgrind
Available versions: 3.2.0 3.2.1 ~3.2.3
Homepage: http://www.valgrind.org
Description: An open-source memory debugger for GNU/Linux |
_________________ ...it's only Rock'n'Roll, but I like it! |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
hoschi Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/20909266864655fb90cef80.png)
Joined: 19 Jul 2003 Posts: 2517 Location: Ulm, Germany, Europe
|
Posted: Wed Mar 07, 2007 10:23 am Post subject: |
|
|
500MB, klingt ja eher nach Memtest ![Laughing :lol:](images/smiles/icon_lol.gif) _________________ Just you and me strogg! |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Finswimmer Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/1672586922424daf205ec26.jpg)
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Wed Mar 07, 2007 10:58 am Post subject: |
|
|
Hast du evtl Beryl laufen?
Die haben ab und zu Speicherprobleme...
Tobi _________________ Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
johoe Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
![](images/avatars/gallery/Blade Runner/movie_blade_runner_howl.gif)
Joined: 21 Jun 2005 Posts: 92
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Mr. Anderson l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/2070781095424ebf0894d33.png)
Joined: 22 Apr 2004 Posts: 762
|
Posted: Wed Mar 07, 2007 12:43 pm Post subject: |
|
|
Anarcho wrote: | Fürs Memory Debugging:
Code: | * dev-util/valgrind
Available versions: 3.2.0 3.2.1 ~3.2.3
Homepage: http://www.valgrind.org
Description: An open-source memory debugger for GNU/Linux |
|
Ahh, genau das meinte ich. Bin einfach nicht mehr draufgekommen. Danke.
Quote: | Hast du evtl Beryl laufen? |
Nein, kein Beryl. Ganz normal KDE mit KWin. Es tritt ziemlich heftig auf, wenn ich im Konqueror Bilder lade. Ich wollte es zunächst auf KDE bzw. Qt schieben, aber es ist ja X, was den Speicher belegt. Ich kann KDE beenden und in der Prozesstabelle sicherstellen, dass nichts mehr außer X und kdm läuft. Da hat dann X ein paar hundert MB (und kdm ist im Vergleich vernachlässigbar).
Quote: | Du bist nicht allein. Weiß nicht ob du schon gesehen hast, aber es gibt da im englischen Forum eine Ursachenforschung dazu: |
Nein, noch nicht gesehen. Danke. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Treborius Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/gallery/Simpsons/Simpsons_-_Maggie.jpg)
Joined: 18 Oct 2005 Posts: 585 Location: Berlin
|
Posted: Wed Mar 07, 2007 2:42 pm Post subject: |
|
|
wenn du dich wirklich auf die tiefere suche machen willst, dann vergess nicht mit +debug zu builden,
sonst sind die ausgaben von valgrind nicht besonders aussagekräftig _________________ Systems running gentoo :
Desktop, Laptop, ZOTAC AD-10 media-center, odroid-xu4 server / wLan-router |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Mr. Anderson l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/2070781095424ebf0894d33.png)
Joined: 22 Apr 2004 Posts: 762
|
Posted: Wed Mar 07, 2007 8:38 pm Post subject: |
|
|
+debug -> ist geschehen.
Starten von einem nackten X und das Beenden mit Strg + Alt + Rücktaste:
Quote: | definitely lost: 509 bytes in 16 blocks.
indirectly lost: 1,656 bytes in 69 blocks. |
Lässt sich aber auch nur mit dem proprietären nvidia-Treiber starten. Mit nv oder vga stürzt X ab, wenn es von valgrind gestartet wird.
Nuja, wird wohl Zeit, dass ich die Doku von Valgrind eintauche. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Treborius Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/gallery/Simpsons/Simpsons_-_Maggie.jpg)
Joined: 18 Oct 2005 Posts: 585 Location: Berlin
|
Posted: Thu Mar 08, 2007 9:43 am Post subject: |
|
|
das mit valgrind war ne blöde idee,
grosse programme haben meist memory-leaks in valgrind
(zB singleton-konstrukte)
das liegt daran, das es meist init() methoden gibt die irgendwelchen speicher brauchen (1mal !!!) und den nicht freigeben, warum auch ... (macht das OS beim exit)
mit valgrind wirst du bei so einem grossem project wie X nicht weiterkommen,
ich nutzte valgrind eigentlich nur zum testen von einzelnen klassen (erzeuge 10000000 objekte mit permutierenden init-werten, greife per zufall auf die member zu, delete)
aber für sowas wie X ist valgrind imho nicht geeignet, dazu müsste man schon in X sowas wie "operator new() overloading" machen, oder eine andere art von speicher überwachung
(wobei X pure C ist, und dann geht nichtmal das ) ...
das heisst wohl abwarten, oder bugzilla lesen, vielleicht haben die devs eine methode zum testen, also ich kenn kein tool mit dem man diese mem-leaks findet _________________ Systems running gentoo :
Desktop, Laptop, ZOTAC AD-10 media-center, odroid-xu4 server / wLan-router |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
manuels Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/106271246545d319130201e.gif)
Joined: 22 Nov 2003 Posts: 2146 Location: Europe
|
Posted: Thu Mar 08, 2007 9:51 am Post subject: |
|
|
Treborius wrote: | das liegt daran, das es meist init() methoden gibt die irgendwelchen speicher brauchen (1mal !!!) und den nicht freigeben, warum auch ... (macht das OS beim exit) |
Naja, aus diesem Standpunkt betrachtet ist es zwar wohl nicht notwenig, aber es gehoert zu einen guten Programmierstil _________________ Build your own live cd with catalyst 2.0! |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Mr. Anderson l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/2070781095424ebf0894d33.png)
Joined: 22 Apr 2004 Posts: 762
|
Posted: Wed Mar 14, 2007 11:10 pm Post subject: |
|
|
Warum sagt mir eigentlich niemand, dass es so nette Tools gibt wie xrestop? ^^
Wenn der Speicherverbrauch jetzt nochmal ausbricht, kann ich nachsehen, welchem Programm das zugeschrieben wird. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
dakjo Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/18635768514600eb83f10d8.jpg)
Joined: 31 Jan 2004 Posts: 1544
|
Posted: Thu Mar 15, 2007 12:52 pm Post subject: |
|
|
Ohh, wusste ich auch noch nicht. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|