robotto7831a Geschrieben 10. Januar 2004 Geschrieben 10. Januar 2004 Hallo zusammen, ich suche ein Tool, dass mir angibt, wieviel Hauptspeicher Programm X belegt. Und wenn das Programm X beendet wird soll das Tool mir angeben, ob wirklich alles an Hauptspeicher was vorher allokiert wurde wieder freigegeben wurde. Frank Zitieren
Eye-Q Geschrieben 10. Januar 2004 Geschrieben 10. Januar 2004 Original geschrieben von palvoelgyi ich suche ein Tool, dass mir angibt, wieviel Hauptspeicher Programm X belegt. Hmm, Taskmanager? Original geschrieben von palvoelgyi Und wenn das Programm X beendet wird soll das Tool mir angeben, ob wirklich alles an Hauptspeicher was vorher allokiert wurde wieder freigegeben wurde. Du könntest ein RAM-Defragmentierungstool nehmen, während der Laufzeit schauen, wie viel RAM belegt ist und nach der Beendigung des Programms noch mal nachschauen, ansonsten wüsste ich keine Methode, wie man das rausfinden könnte. Zitieren
robotto7831a Geschrieben 10. Januar 2004 Autor Geschrieben 10. Januar 2004 Kennst Du so ein RAM Tool? Frank Zitieren
Sariel Geschrieben 10. Januar 2004 Geschrieben 10. Januar 2004 Nabend palvoelgyi, Schau mal hier. Zitieren
robotto7831a Geschrieben 10. Januar 2004 Autor Geschrieben 10. Januar 2004 Bei dem Tool kann man aber nicht bestimmte Anwendungen beobachten oder? Hintergrund ist folgender. Wir haben einige Anwendungen die viel Arbeitsspeicher brauchen. Und wir wollen feststellen ob die Anwendung beim Beenden wieder alles frei gibt. Frank Zitieren
Thanks-and-Goodbye Geschrieben 10. Januar 2004 Geschrieben 10. Januar 2004 Neee, bestimmte Anwendungen kann man da, wie es scheint, wohl nicht überwachen. Aber wie Eye-Q schon gesagt hat, kannst du damit doch indirekt das Programm überwachen, indem du den Ramverbrauch des Programmes misst und dann nach dem Beenden des Programmes schaust, ob der Ram freigegeben wurde. Zitieren
robotto7831a Geschrieben 11. Januar 2004 Autor Geschrieben 11. Januar 2004 So könnte man es auch machen. OK. Danke. Frank Zitieren
Klotzkopp Geschrieben 11. Januar 2004 Geschrieben 11. Januar 2004 Wenn ein Prozess unter Windows beendet wird, dann sorgt das Betriebssystem dafür, dass belegte Ressourcen (virtueller Speicher, Handles usw.) wieder freigegeben werden. Selbst wenn also das Progamm Speicherlecks enthält, die den Speicherverbrauch während der Laufzeit anwachsen lassen: Beim Beenden räumt Windows auf. Zitieren
Sariel Geschrieben 11. Januar 2004 Geschrieben 11. Januar 2004 Hallo Klotzkopp, Mal angenommen, ich habe ein Programm welches 15MB Ram benötigt, ein weiteres welches 18MB verbraucht und ein drittes welches 43MB verbraucht, dann wären das ingesamt 76MB des verfügbaren Arbeitsspeichers. Nun beende ich ich alle drei Programme und Windows gibt mir diese 76MB auch wieder komplett frei? Wären dann nicht solche Programme wie von mir oben verlinkt nicht total unnütz? Beschreibung Rambooster, Quelle klick : Beschreibung: Viele Windows-Anwendungen haben die unangenehme Eigenschaft, sich große Mengen an Arbeitsspeicher zu reservieren, ohne daß sie ihn wirklich benötigen. Startet man dann eine Applikation, die wirklich größere Speichermengen benötigt, beginnt das Betriebssystem oft die Auslagerungsdatei zu nutzen statt den unbenutzten, aber reservierten Speicher wieder freizugeben. Dieses Manko behebt das Tool RAM Booster. Das Utility überwacht ständig den verfügbaren Speicher und kann auf Mausklick oder automatisiert versuchen, eine bestimmte Menge an RAM freizugeben. Ist der Speicher ungenutzt reserviert, gelingt es dem Tool ohne größere Probleme, bis zu 50 Prozent des Arbeitsspeichers freizugeben Oder habe ich da jetzt etwas falsch verstanden, wenn ja - Sorry. Zitieren
Klotzkopp Geschrieben 11. Januar 2004 Geschrieben 11. Januar 2004 Man muss hier zwischen physischem und virtuellem Speicher unterscheiden. Soweit ich weiß, versuchen solche Tools, längere Zeit nicht benötigte Seiten in die Auslagerungsdatei zu verschieben, so dass wieder Seiten im physischem Speicher verfügbar sind. Wirklich "freigegeben" wird da nichts. Das verlinkte Tool tut eigentlich nicht viel mehr, als große Mengen Speicher zu reservieren. Dadurch werden ungenutzte Seiten anderer Prozesse auf die Festplatte ausgelagert. Dann gibt das Tool den angeforderten Speicher wieder frei, die ausgelagerten Seiten bleiben aber ausgelagert, solange nicht auf sie zugegriffen werden muss. Dadurch ist hinterher mehr physischer Speicher frei - der benutzte virtuelle Speicher hat sich natürlich nicht verändert. Diese Tools sind eigentlich nur unter Windows 9X sinnvoll, weil dort die Speicherverwaltung nicht besonders gut darin ist, die richtigen Seiten zu Auslagern zu finden. Die Speicherverwaltung von Windows 2000 und XP ist besser, was effektives Auslagern angeht. Zitieren
need-some-blood Geschrieben 12. Januar 2004 Geschrieben 12. Januar 2004 Da muss ich Klotzkopp voll Recht geben. RAMBooster kann doch eigentlich nicht wissen welcher 32Bit Arbeitsspeicherbereich von welchem Programm genutzt wird. Lediglich die letzten Zugriffe werden mitgeloogt, sodass RAMBooster erkennt welcher Speicherbereich nicht häufig genutzt wird. Diese Pages werden dann auf die langsamerer Festplatte ausgelagert. Bei Bedarf werden diese Pages dann wieder in einen reservierten, freien Bereich des Arbeitsspeichers geladen. Dieses Auslagern von Teilen des Arbeitsspeichers wird Swapping genannt. Dadurch erhält man mehr schnelleren RAM auf Kosten der Festplattengröße. Das Betriebssystem kann nicht mehr benutzten Arbeitsspeicher wieder freigeben damit dieser wieder benutzt werden kann. Diese Garbage Collection verhindert einen Stillstand des Systems wegen Speichermangel. MVG need-some-blood Zitieren
Sariel Geschrieben 12. Januar 2004 Geschrieben 12. Januar 2004 Original geschrieben von need-some-blood Das Betriebssystem kann nicht mehr benutzten Arbeitsspeicher wieder freigeben damit dieser wieder benutzt werden kann. Moin need-some-blood, das weiß ich. Nur was ich denke, dass Windows vielleicht nicht alles wieder zu 100% freigeben kann. Zitieren
need-some-blood Geschrieben 12. Januar 2004 Geschrieben 12. Januar 2004 Moin Crash, wenn du ein Programm normal schließt. Also nicht über den Task Manager. Sollte es eigentlich funktionieren. Denn beim Programmaufruf wird der benötigte Arbeitsspeicher in 32bit-Blöcken errechnet und reserviert. Beim Beenden des Programms wird (meines Wissens nach) ein release-Befehl an die CPU gesendet. Die MMU löscht dann den reservierten Speicherbereich und gibt ihn wieder frei. Überreste sind dann im RAM nicht mehr vorhanden. Wie das ganze über den Task Manager genau abläuft kann ich dir auf Anhieb nicht erklären. Da müsste ich vorher mal ne Runde googlen. MVG need-some-blood [edit: Kann natürlich sein, das Windows 95 dies nicht perfekt beherscht. Aber schon bei 98 habe ich da keine Fehler entdecken können.] Zitieren
need-some-blood Geschrieben 12. Januar 2004 Geschrieben 12. Januar 2004 HALT. KOMMANDO ZURÜCK. Mir fällt gerade ein, dass gerade genutzte DLLs sich nicht automatisch entladen. Diese bleiben dann natürlich im Speicher liegen. Dies kann natürlich mit einem Eintrag in der Registrierungsdatei geändert werden, kann aber dann Systemabstürze verursachen. Ich empfehle daher den "mem optimizer" aus dem Tune Up 2003-Programm. MVG need-some-blood Zitieren
nic_power Geschrieben 12. Januar 2004 Geschrieben 12. Januar 2004 Hallo, Original geschrieben von need-some-blood Bei Bedarf werden diese Pages dann wieder in einen reservierten, freien Bereich des Arbeitsspeichers geladen. Dieses Auslagern von Teilen des Arbeitsspeichers wird Swapping genannt. Beim Swapping werden komplette Prozess (bis auf die Kontrollstrukturen) auf Festplatte ausgelagert. Beim Paging hingegen einzelne Speicherseite (was wesentlich effizienter ist und deutlich weniger Performance kostet). Paging ist normal und tritt selbst dann auf, wenn ausreichend physikalischer Speicher vorhanden ist. Swapping hingegen ist der letzte Rettungsanker einer Speicherverwaltung und sollte in der Praxis eigentlich nie auftreten. Bestimmte Programme/Programmteile sollten sinnvoller nicht gepaged werden (beispielsweise shared libraries bzw. DLLs), da diese von mehreren Programmen verwendet werden. Nic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.