Wir haben ein Java-Programm, das eine große Menge an Heap-Speicherplatz benötigt - wir starten es (unter anderen Befehlszeilenargumente) das Argument -Xmx1500m, die einen maximalen Heap-Speicher von 1500 angibt MB. Wenn dieses Programm in einer Windows XP-Box gestartet wird, die neu gestartet wurde, wird es gestartet und ohne Probleme ausgeführt. Aber wenn das Programm mehrere Male ausgeführt wurde, hat der Computer für eine Weile gewesen, etc., wenn es versucht zu starten ich diesen Fehler:Tools zum Anzeigen/Lösen von Windows XP-Speicherfragmentierung
Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.
Ich vermute, dass Windows selbst aus dem Speicher Fragmentierung leidet, aber Ich weiß nicht, wie ich diesen Verdacht bestätigen soll. Zu diesem Zeitpunkt melden Task Manager und sysinternals procexp 2000 MB freien Speicher. Ich habe mir this question related to internal fragmentation
angeschaut So lautet die erste Frage: Wie bestätige ich meinen Verdacht? Die zweite Frage ist, wenn mein Verdacht richtig ist, kennt jemand irgendwelche Werkzeuge, um dieses Problem zu lösen? Ich habe mich ein wenig umgeschaut, aber ich habe nichts gefunden, was hilft, außer periodischen Neustarts der Maschine.
ps - Betriebssystemwechsel ist derzeit auch keine praktikable Option.