Forum

Forum-Navigation
Du musst dich anmelden um Beiträge und Themen zu erstellen.

Speicherverwaltung: Windows - java - AoI

Pete schreibt in SourceForge:

If you are lookin at Windows Task Manager, it does not necessarily tell, what Java is doing with the memory. Task manager does not notice the memory, that Java has released back to the system.

Another thing is, that when there is a lot of memory available, automatic garbage colletion of Java does not wake up before the memory limit is getting close. Until then it runs fast, but then there is a lot to clean, which consumes some processing power too. -- Or so I have noticed.

The attached script might give some insight to memory management of Java , if you run it before and after some major operation. -- It also calls garbage collection System.gc() so you can compare, what the memory usage is before and after that.

Mit meinen Worten und bezogen auf mein Problem, auf das Pete wie oben antwortete:

Ich hatte AoI mittels der bat (Anhang) 12 GB zur Verfügung gestellt. Bei der Arbeit stellte ich dann fest, das der Speicher langsam voll läuft und schließlich friert AoI ein. Es dauerte Minuten bis AoI wieder reagiert - aber recht lahm.

Wenn viel Speicher für AoI bzw. java zur Verfügung steht, wird die Speicherbereinigung von java zunächst nicht sofort aktiviert. Wenn der große Speicher dann voll ist, beginnt die Speicherbereinigung zu arbeiten. Sie hat soviel zu tun, dass der Prozessor mit 100% belastet wird.

Ich habe meine Testanimation einmal ohne Erweiterung des Speichers mit der bat probiert und festgestellt: Mit wenig Speicher läuft der Test besser als mit viel Speicher. Kurios, aber wie oben erklärbar.

Hochgeladene Dateien:
  • Du musst dich anmelden um auf Uploads zugreifen zu können.

Nachtrag aus SourceForge:

Der Effekt ist eine Funktion von JAVA, nicht von AoI.

Interessant, dass AoI da eigentlich durch Java ausgebremst wird. Das rauszufinden, ist zunächst mal denen vorbehalten, die ihre einschlägigen Kenntnisse dafür aufwenden und sogar entsprechende Skripte zu programmieren verstehen. Danke dafür an Pete und Dich, musi!

Da ich ja schon öfter mit dem "Einfrierproblem" zu tun hatte (allerdings wegen zu wenig Arbeitsspeicher) landete ich wiederholt im Taskmanager von Windows um endlich weitermachen/neustarten zu können. Da war die Speicherbereinigung durch Java gut zu beobachten, wie sie von Pete beschrieben ist. Aber weil ich mit den wechselnden Werten schlicht nichts anzufangen wußte und eh schon "Alert!" geblinkt hatte, bedeutete es für mich dann jedesmal dennoch nur verlorene "Liebesmüh'" ...  🙄

Der Alert kommt, weil der Speicherplatz wirklich nicht gereicht hat. Wenn der Speicher nur vollgelaufen ist, weil java nicht bereinigt hat, friert er zeitweilig ein und kommt dann wieder, wenn er aufgeräumt hat. Man hat nur nicht die Geduld darauf zu warten.

Ja, das mit der Geduld ... wer hat die schon, wenn (endlich dann) Resultate gefragt sind ...

Ich habe mich mit der gleichen Problematik wieder in Sourceforge gemeldet. Diesmal hat Luke geantwortet.

Mit einem Tool visualm (Anhang) kann man die Speicherverwaltung in java verfolgen. Man muss zunächst AoI starten und dann visualvm.exe (aus dem Ordner bin). Dann in visualvm.exe-Fenster Doppelklick links auf artofillusion. Es gibt dann rechts verschiedene Reiter. Der Reiter Monitor zeigt den Speicherverlauf.

Dort sind auch Dumps möglich. Luke ist noch dabei, meine Dumps zu analysieren.

Hochgeladene Dateien:
  • Du musst dich anmelden um auf Uploads zugreifen zu können.

Fortsetzung

Hochgeladene Dateien:
  • Du musst dich anmelden um auf Uploads zugreifen zu können.

Fortsetzuing

Hochgeladene Dateien:
  • Du musst dich anmelden um auf Uploads zugreifen zu können.

Danke, dass Du Dich für uns alle stellvertretend an dieser Problematik abarbeitest. Hoffentlich führt es zu einem Resultat, das man abwarten kann ...