Bonjour,
Je fais tourner mes simulations sur une longue durée; 40 ans, au lieu de 10 habituellement. Je les ai fait tourner dans un plan de simulation test (21 simulations, pour 19 en //; je sais c'est pas malin, mais l'idée étant de faire tourner ça la nuit ça allait).
Elles ne sont pas allées jusqu'aux 40 ans, mais se sont arrêtées avant, entre 36 et 39 ans ; voir PJ.
En regardant dans le debug des simulations, je retrouve 20 fois Java heap space, et une fois GC overhead limit exceeded (voir bas de message pour les 3 différentes erreurs que j'ai trouvées dans le debug)
Je travaille avec des simulations utilisant 4 règles, dont 2 produisent des .csv (5.5MB pour le plus lourd). Elles ont besoin de paramètres définis dans le contexte (context.setComputeValue[...]), il y en a des milliers. Je demande à supprimer les résultats après les exports (bien qu'en réalité, le répertoire results/matrix de chaque simulation contient plein de .gz). Je sauvegarde 4 exports : Abondances, AbondancesBeginMonth, CapturesNombre et RejetsNombre. Les 2 derniers sont très lourds et avoisinent les 1GB chacun; contre environ 25 MB pour chaque export d'abondance.
Quelles pistes pour éviter d'en demander trop à ISIS?
A+
Audric
ERROR|17:35:59,883|InProcessSimulatorLauncher.java|476|localSimulateSameThread|Error during simulation
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOf(Unknown Source) ~[?:1.8.0_211]
at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source) ~[?:1.8.0_211]
at java.lang.AbstractStringBuilder.append(Unknown Source) ~[?:1.8.0_211]
at java.lang.StringBuilder.append(Unknown Source) ~[?:1.8.0_211]
at java.lang.StringBuilder.append(Unknown Source) ~[?:1.8.0_211]
at simulators.DefaultSimulatorResultBeforeCondition.computeMonth(DefaultSimulatorResultBeforeCondition.java:450) ~[?:?]
at simulators.DefaultSimulatorResultBeforeCondition.simulate(DefaultSimulatorResultBeforeCondition.java:259) ~[?:?]
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:430) [isis-fish-4.4.2.2.jar:4.4.2.2]
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:260) [isis-fish-4.4.2.2.jar:4.4.2.2]
ERROR|17:35:59,914|DriverManagerConnectionProviderImpl.java|332|close|Connection leak detected: there are 3 unclosed connections upon shutting down pool jdbc:h2:file:D:\isis-fish-4\isis-database\simulations\sim_MSYDerivationTest_2019-10-08-13-47_6\data\data;FILE_LOCK=file;LOG=1;AUTO_SERVER=TRUE;DEFAULT_LOCK_TIMEOUT=1000;DB_CLOSE_DELAY=0;LOCK_MODE=3;TRACE_LEVEL_FILE=0;TRACE_LEVEL_SYSTEM_OUT=0
ERROR|17:40:33,132|InProcessSimulatorLauncher.java|476|localSimulateSameThread|Error during simulation
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Unknown Source) ~[?:1.8.0_211]
at java.lang.StringBuffer.toString(Unknown Source) ~[?:1.8.0_211]
at org.nuiton.math.matrix.BasicMatrix.toString(BasicMatrix.java:380) ~[nuiton-matrix-2.5.2.jar:2.5.2]
at org.nuiton.math.matrix.MatrixNDImpl.toString(MatrixNDImpl.java:206) ~[nuiton-matrix-2.5.2.jar:2.5.2]
at java.lang.String.valueOf(Unknown Source) ~[?:1.8.0_211]
at java.lang.StringBuilder.append(Unknown Source) ~[?:1.8.0_211]
at simulators.DefaultSimulatorResultBeforeCondition.computeMonth(DefaultSimulatorResultBeforeCondition.java:446) ~[?:?]
at simulators.DefaultSimulatorResultBeforeCondition.simulate(DefaultSimulatorResultBeforeCondition.java:259) ~[?:?]
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:430) [isis-fish-4.4.2.2.jar:4.4.2.2]
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:260) [isis-fish-4.4.2.2.jar:4.4.2.2]
ERROR|17:40:33,148|DriverManagerConnectionProviderImpl.java|332|close|Connection leak detected: there are 3 unclosed connections upon shutting down pool jdbc:h2:file:D:\isis-fish-4\isis-database\simulations\sim_MSYDerivationTest_2019-10-08-13-47_13\data\data;FILE_LOCK=file;LOG=1;AUTO_SERVER=TRUE;DEFAULT_LOCK_TIMEOUT=1000;DB_CLOSE_DELAY=0;LOCK_MODE=3;TRACE_LEVEL_FILE=0;TRACE_LEVEL_SYSTEM_OUT=0
ERROR|17:35:59,883|InProcessSimulatorLauncher.java|476|localSimulateSameThread|Error during simulation
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOf(Unknown Source) ~[?:1.8.0_211]
at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source) ~[?:1.8.0_211]
at java.lang.AbstractStringBuilder.append(Unknown Source) ~[?:1.8.0_211]
at java.lang.StringBuilder.append(Unknown Source) ~[?:1.8.0_211]
at java.lang.StringBuilder.append(Unknown Source) ~[?:1.8.0_211]
at simulators.DefaultSimulatorResultBeforeCondition.computeMonth(DefaultSimulatorResultBeforeCondition.java:450) ~[?:?]
at simulators.DefaultSimulatorResultBeforeCondition.simulate(DefaultSimulatorResultBeforeCondition.java:259) ~[?:?]
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:430) [isis-fish-4.4.2.2.jar:4.4.2.2]
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:260) [isis-fish-4.4.2.2.jar:4.4.2.2]
ERROR|17:35:59,914|DriverManagerConnectionProviderImpl.java|332|close|Connection leak detected: there are 3 unclosed connections upon shutting down pool jdbc:h2:file:D:\isis-fish-4\isis-database\simulations\sim_MSYDerivationTest_2019-10-08-13-47_6\data\data;FILE_LOCK=file;LOG=1;AUTO_SERVER=TRUE;DEFAULT_LOCK_TIMEOUT=1000;DB_CLOSE_DELAY=0;LOCK_MODE=3;TRACE_LEVEL_FILE=0;TRACE_LEVEL_SYSTEM_OUT=0