Speicherverwaltung: Windows - java - AoI

Zitat von musi am 2. Mai 2019, 17:35 UhrPete 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.
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.


Zitat von donkritzel am 3. Mai 2019, 23:17 UhrInteressant, 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'" ... 🙄
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'" ... 🙄

Zitat von musi am 4. Mai 2019, 12:17 UhrDer 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.
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.

Zitat von donkritzel am 5. Mai 2019, 21:12 UhrJa, das mit der Geduld ... wer hat die schon, wenn (endlich dann) Resultate gefragt sind ...
Ja, das mit der Geduld ... wer hat die schon, wenn (endlich dann) Resultate gefragt sind ...

Zitat von musi am 6. Juni 2020, 14:42 UhrIch 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.
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.



Zitat von donkritzel am 7. Juni 2020, 15:55 UhrDanke, dass Du Dich für uns alle stellvertretend an dieser Problematik abarbeitest. Hoffentlich führt es zu einem Resultat, das man abwarten kann ...
Danke, dass Du Dich für uns alle stellvertretend an dieser Problematik abarbeitest. Hoffentlich führt es zu einem Resultat, das man abwarten kann ...