Java 6u16 остановлена без причины на Windows Server 2008 R2 SP1
У меня есть приложение Java, работающее на Window Server 2008 R2 SP1 (в соответствии с авторским правом 2009) с JVM 6u16 x64, моя программа будет записывать журнал каждые 5 секунд, чтобы показать, что он все еще жив, однако сама программа прекратила запись журнала для 10 20 секунд без причины. Я использовал VisualVM для мониторинга моего Java-приложения, но он также остановился, поскольку VisualVm продолжает загружать новые потоки (для мониторинга) в течение периода остановки. Остановка происходит только с 9:00 до 16:00 (от 3 до 4 раз в день), но не в ночное время. Это Java-приложение отлично работает на другом Windows Server 2008 R2 SP1 (в соответствии с авторским правом 2007), поэтому мне интересно, есть ли у нового Win Server 2008 (версия 2009) какая-то проблема совместимости с JVM, и есть ли какие-либо КБ, которые исправили это
Протестировал еще 2 вещи, но все еще не повезло 1. Написал программу на C++ для записи журнала даты и времени каждую секунду, но он не прекращал писать при остановке JVM, что не указывает на проблемы, связанные с OS 2. Обновление до JVM 6u45, но java-программа все еще приостанавливается на 1 раз и длится 10 секунд, что лучше, чем 6u16, как это происходило примерно 3-4 раза в дневное время.
Спасибо за помощь
1 ответ
Похоже, у вас могут быть проблемы со случайными паузами "full GC".
Я предлагаю вам включить ведение журнала GC, а затем посмотреть, есть ли корреляция между этими нежелательными сбоями и событиями в сообщениях журнала GC; читать о -Xloggc:file
опция в ручном вводе команды Java.
В зависимости от того, что это говорит вам, решение может состоять в том, чтобы настроить параметры GC вашего JVM.