多线程 Optaplanner 中的内存泄漏?

Memory leak in multithreaded Optaplanner?

我似乎在 Optaplanner 中发生内存泄漏。要重现,只需下载 Quarkus 示例:

git clone https://github.com/quarkusio/quarkus-quickstarts.git
cd quarkus-quickstarts/optaplanner-quickstart

然后通过增加终止时间(例如 quarkus.optaplanner.solver.termination.spent-limit=10h)并取消注释 quarkus.optaplanner.solver.move-thread-count=2 以启用多线程的行来更改 src/main/resources/application.properties

然后,运行手册中的要求:

./mvnw compile quarkus:dev
curl -i -X POST http://localhost:8080/timeTable/solve -H "Content-Type:application/json" -d '{"timeslotList":[{"dayOfWeek":"MONDAY","startTime":"08:30:00","endTime":"09:30:00"},{"dayOfWeek":"MONDAY","startTime":"09:30:00","endTime":"10:30:00"}],"roomList":[{"name":"Room A"},{"name":"Room B"}],"lessonList":[{"id":1,"subject":"Math","teacher":"A. Turing","studentGroup":"9th grade"},{"id":2,"subject":"Chemistry","teacher":"M. Curie","studentGroup":"9th grade"},{"id":3,"subject":"French","teacher":"M. Curie","studentGroup":"10th grade"},{"id":4,"subject":"History","teacher":"I. Jones","studentGroup":"10th grade"}]}'

随着数百万个 PhreakPropagationContext 对象的生成,内存使用量开始稳步增加。我认为这不是预期的行为。我应该为此创建一个问题还是我遗漏了什么?

我查看了你的问题,调查了这个问题并最终 filing a bug。该修复计划包含在 OptaPlanner 8.13 中。0.Final.