AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C++ Speicherlecks in fremdem Code/Programm finden
Thema durchsuchen
Ansicht
Themen-Optionen

Speicherlecks in fremdem Code/Programm finden

Ein Thema von Dalai · begonnen am 30. Dez 2016 · letzter Beitrag vom 31. Jan 2017
 
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#12

AW: Speicherlecks in fremdem Code/Programm finden

  Alt 6. Jan 2017, 15:30
Es gibt Neuigkeiten, und zwar gute! Ich habe das Leck schneller als gedacht eingrenzen können: es liegt eindeutig am SpeedFan-Plugin. Ist das Plugin deaktiviert, schwankt der Speicherverbrauch des Munin Node über einige Stunden maximal 12 KB (was ich als normal betrachte). Ist es aktiviert, steigt der Speicherverbrauch zwischen 100 und 800 KB pro 30 Minuten!

Hier mal eine Übersicht der mitgeschriebenen Werte. WS = Working Set, Werte in Kilobyte (KB).
PluginStartwert WSWS nach dem ersten NetzwerkkontaktEndwert nach 5 StundenDiffKommentar
alle außer External, PerfCounter, SMART, HD, SpeedFan3004318831924VM mit XP
alle außer External, PerfCounter, SMART, HD3032326855682300VM mit XP
alle außer External, PerfCounter, SMART, HD, SpeedFan?472447284Host mit Win7
alle außer External, PerfCounter, SMART, SpeedFan43244712472412Host mit Win7
alle außer External, SMART436045605132572Win2k; Wert nach 3 Stunden

Die Speicherzunahme ist auch auf Win2k zu beobachten. Warum ich hier von einem Unterschied zwischen Win2k und XP+ ausging, ist ganz einfach zu erklären: SpeedFan kam bei mir nie auf Win2k zum Einsatz, sondern erst ab XP; die Systeme mit Win2k benutzten ältere Hardware, die noch mit Motherboard Monitor auslesbar war (daher gab's keinen Grund für SpeedFan).

Weitere wichtige Beobachtung: Der Speicherzuwachs ist sogar abhängig davon, wieviele weitere Rechner mit SpeedFan im LAN aktiv sind, d.h. je mehr Systeme desto stärker wächst die Größe des Munin Node!

Nun muss nur noch das Leck selbst gefunden werden. Falls jemand Zeit und Lust hat, kann gern einen Blick auf den Code des Plugins werfen. Ich werde dasselbe tun. Nach einem ersten Blick auf den Code, ist meine Vermutung, dass das Leck irgendwo in der Funktion SpeedFanNodePlugin::ListenerThread::ProcessBuffer( ) steckt.

Grüße
Dalai
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz