Hallo, ich habe folgendes Problem. Mein Programm allokiert während der Laufzeit Speicher und gibt diesen auch wieder frei. Das funktioniert auch wunderbar - den Speicherbedarf von meinem Programm während der Laufzeit kann ich ja im Taskmanager ankucken!! Der bleibt immer gleich (ca.). Nun möchte ich genau diese Programm auf einr Virtuellen Maschine laufen lassen - da vergrößert sich der Speicher jedoch fortlaufend. Woran kann das liegen?? Jemand eine Idee?? Danke schonmal...
eine VM sollte sich in diesem punkt gleich verhalten. Ich vermute mal das dein Programm auf der VM etwas anders macht und du den speicher nicht freigibst? Meinst du eigentlich dem Speicher der VM oder den Speicher deiner Answendung?
An Peter II warum sollte das programm auf der VM etwas anderes machen. also ich denke das kann nicht am programm selbst liegen - sondern eher an der umgebung - sprich am betriebssystem. auf der VM läuft MS Win Server 2003 (bei mir lokal läuft XP). Der Speicherbedarf (lt. Taskmgr "MEM Usage") meiner Anwendung wächst an! ...
max .. schrieb: > also ich denke das kann nicht am programm selbst liegen Dann bleibt dir nix als WinXP zu installieren und fortan auf "das blöde MS Win Server 2003 was einfach mein Programm kaputt macht und ganz viel speicher frisst" zu schimpfen.
max .. schrieb: > warum sollte das programm auf der VM etwas anderes machen. > also ich denke das kann nicht am programm selbst liegen - sondern eher > an der umgebung - sprich am betriebssystem. ich habe doch keine ahnung was dein Programm macht, wenn du z.b. DirectX nutzt dann hast du in der VM eine andere Grafigkarte als in deinem XP. Damit kann sich dein Programm anders verhalten. Meine Programme laufen ohne Probleme in einer VM umgebung - daran kann es also bauschal nicht liegen.
Spekulieren hilft dir hier nicht weiter, Debuggen ist angesagt. Ich denke auch das dein Programm sich aus irgend einen grund in der VM anders verhält als Außerhalb. Finde raus was Anders läuft, setze vielleicht einfach mal einen profiler auf dein Programm an, vielleicht reicht das schon um die benötigten Informationen zu bekommen.
max .. schrieb: > an der umgebung - sprich am betriebssystem. auf der VM läuft MS Win > Server 2003 (bei mir lokal läuft XP). Win2003 und WinXP sind vom Betriebssystem her technisch weitgehend gleich. Es gibt jedoch unterschiedliche Gewichtung von Prozessen und evtl. auch in der Speicherverwaltung.
Google einfach mal nach Memwatch... Das ist eine kleine Bibliothek, die malloc's und free's überwacht und dir bei Programmende eine schöne Log-Datei mit allen ungefreeten Pointern übergibt. Brauchbar vor allem für C und bedingt für C++.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.