Я борется с проблемой потребления памяти, мое использование памяти tomcat в диспетчере задач постоянно растет при каждом запросе, который я делаю для своего webapp. Я прочитал, что использование mem в диспетчере задач не обязательно означает, что есть проблема, так как он суммирует кучу, не кучу и собственную память для JVM; однако я все еще не уверен, что именно нужно сделать, чтобы автоматически уменьшить потребление памяти кучи.Почему использование памяти tomcat возрастает до тех пор, пока я не нажму кнопку «Выполнить GC с jconsole»?
Я использую tomcat 7.0.62 и JRE1.8.0_51 с приложением hibernate3/c3p0 поверх рамки struts2.
В последние несколько месяцев у нас были расширенные функциональные возможности для приложения, вначале это было утечкой памяти, но каждый раз, когда мы нажимаем кнопку «Выполнить GC» в jconsole, куча памяти падает на графиках, следовательно, Использование памяти в процессе tomcat перестает увеличиваться темпами, которые были раньше.
До сих пор я поставил следующие свойства:
-Dcatalina.home=C:\apache-tomcat-7.0.62
-Dcatalina.base=C:\apache-tomcat-7.0.62
-Djava.endorsed.dirs=C:\apache-tomcat-7.0.62\endorsed
-Djava.io.tmpdir=C:\apache-tomcat-7.0.62\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=C:\apache-tomcat-7.0.62\conf\logging.properties
-Dcom.sun.management.jmxremote.port=6060
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-XX:+UseParNewGC
-XX:SurvivorRatio=128
-XX:MaxTenuringThreshold=0
-XX:+UseTLAB
-XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled
Есть ли какой-либо параметр конфигурации отсутствует, что бы вы порекомендовали. В моей tomcat7w консоли конфигурация выглядит следующим образом:
Спасибо заранее.