#java #memory #drools #ram #optaplanner
#java #память #пускает слюни #ОЗУ #optaplanner
Вопрос:
Я работаю над проблемой с Optaplanner, и я читал о том, как должен выглядеть отпечаток памяти. Я делал это, потому что ошибка ООМ продолжает появляться при масштабировании проблемы.
В документации показано использование оперативной памяти во время решения. Я понимаю, что память немного увеличивается по сравнению с базовой линией из-за набора данных. Снимок эволюции памяти в моей проблеме во время решения выглядит так, как будто он постепенно растет: я также использую VisualVM, и эти объекты поступают из Drools. Но я не мог вдаваться в подробности.
- Итак, мой вопрос сначала связан с теоретическим отпечатком памяти. Чему соответствуют «пики»? Связаны ли они напрямую с этапами решения?
- Кроме того, может ли это постоянное увеличение памяти в моей проблеме быть связано с тем, что я неэффективно формулирую ограничения Drools? Или я должен сосредоточиться в другом месте?
Комментарии:
1. Может быть несколько вещей. Это будет сложно решить с помощью StackOverflow — это то, что нужно для реальной, глубокой поддержки. Чтобы ответить на вопросы: 1. Пики, вероятно, будут непосредственно перед сбором мусора GC (вероятно, GCS с остановкой), не связанные с шагами. 2 Увеличение может указывать на утечку памяти — в любом месте из вашего кода ограничений, как клонирование планирования optaplanner взаимодействует с вашим кодом, как drools взаимодействует с вашим кодом или по другим причинам.