Я установил Tomcat6 в ОС Ubuntu, и когда я запускаю свое веб-приложение, сервер регулярно падает. Я много пробовал, но не нашел решения. Я увеличил объем памяти до 2048 МБ, но все еще получаю такую ошибку. Я получаю следующее сообщение об ошибке. Любая помощь могла бы быть полезна.
org.apache.tomcat.util.http.Parameters processParametersINFO:
Invalid chunk starting at byte [312] and ending at byte [312] with a value of [null]
ignoredException in thread "Timer-1" Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" Exception in thread
"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" Exception in thread
"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" Exception in thread
"Timer-2" Exception in thread "http-8080-4" Exception in thread "http-8080-8" Exception in thread
"http-8080-17" Exception in thread "org.hibernate.cache.StandardQueryCache.data" Exception in thread
"org.hibernate.cache.UpdateTimestampsCache.data" Exception in thread
"org.hibernate.cache.StandardQueryCache.data" Exception in thread
"org.hibernate.cache.StandardQueryCache.data" Exception in thread
"org.hibernate.cache.UpdateTimestampsCache.data" Exception in thread
"org.hibernate.cache.StandardQueryCache.data" Exception in thread
"org.hibernate.cache.StandardQueryCache.data" Exception in thread
"org.hibernate.cache.UpdateTimestampsCache.data" Exception in thread "com.safenet.usermgmt.User.data"
Exception in thread "http-8080-7" Exception in thread "http-8080-12" Exception in thread "http-8080-16"
Exception in thread "http-8080-14" Exception in thread "http-8080-13" Exception in thread "http-8080-15"
Exception in thread "http-8080-6"
OpenJDK Client VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGTERM to handler- the VM may need to be forcibly terminated
Остановите сервер, заархивируйте файлы журнала. Перезагрузите сервер. Когда возникает исключение, опубликуйте полную трассировку стека. Если ошибка не возникает долгое время, возможно, потребуется добавить:
-XX: -OmitStackTraceInFastThrow
на ваш CATALINA_OPTS.
Убедитесь, что ваше приложение правильно закрывает все соединения с БД, которые оно использует в блоке finally команды try / catch.
Если вы запустите свой экземпляр Tomcat с включенным jmxremote, вам будет легче определить любую проблему.
Добавьте следующее в CATALINA_OPTS
переменную окружения для Tomcat и перезапустите JVM.
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
После этого вы можете использовать jconsole
для отслеживания использования памяти и поиска необычных тенденций. Причиной этого может быть серьезная утечка памяти в вашем приложении.