2015-03-30 5 views
1

(a) В журналах GC я вижу строки, напечатанные ниже, даже если приложение не используется. Это как-то связано с JIT или некоторыми другими JVM внутренней работой?Java 7 Default GC для сервера

2015-03-05T14:42:18.320+0000: 520807.126: Total time for which application 
threads were stopped: 0.0000500 seconds 
2015-03-05T14:42:18.320+0000: 520807.126: Application time: 0.0000240 
seconds 
2015-03-05T14:42:18.320+0000: 520807.126: Total time for which application 
threads were stopped: 0.0000500 seconds 
2015-03-05T14:42:58.405+0000: 520847.212: Application time: 40.0857170 
seconds 
2015-03-05T14:42:58.406+0000: 520847.212: Total time for which application 
threads were stopped: 0.0001980 seconds 
2015-03-05T14:42:58.406+0000: 520847.212: Application time: 0.0000250 
seconds 
2015-03-05T14:42:58.406+0000: 520847.212: Total time for which application 
threads were stopped: 0.0000520 seconds 
2015-03-05T14:43:28.406+0000: 520877.213: Application time: 30.0001550 
second 

(b) Использование сборщика GC по умолчанию. Мы пытаемся напечатать распределение владения в журналах, но оно не будет напечатано.

Мы пробовали + PrintTenuringDistribution, а также -PrintTenuringDistribution, но не работаем. Разве это не настроено на работу с Parallel GC?

Информация о сервере

OS: RHEL 6 
Cores: 24 
RAM: 37GB 
Java: Oracle JDK 7 Update 45 

ответ

0

(а) в журналах GC, я вижу строки ниже распечатывается, даже если приложение находится в режиме ожидания. Это что-то связано с JIT или какой-либо другой внутренней операцией JVM?

Вряд ли.

В нормальных условиях, если приложение действительно (бездействует), не будет никакой компиляции JIT или какой-либо другой внутренней активности JVM. Это означает, что GC не будет запущен.

Я подозреваю, что действие вызвано javaagent, который вы используете; например для мониторинга JVM. (A javaagent будет генерировать мусор при нормальной работе ...)


ли это не настроен для работы с параллельным умолчанию GC?

Я видел доказательства (результаты поиска Google), которые подразумевают, что он работает для параллельного GC по умолчанию в Java 7. Я бы проверял, что вы правильно указываете параметр; то есть

-XX:+PrintTenuringDistribution 
+0

Спасибо за ответ. Я повторю попытку распространения печати. Когда я имел в виду простоя, я имел в виду обычную обработку. Если бы была сборка мусора, разве я не должен видеть до и после GC heap/young etc информацию, как я вижу во время деятельности? Также проверит, был ли настроен javaagent для этого периода. – rohitmohta

+0

Эти сообщения журнала могут быть вызваны действительностью javaagent. Агент может заморозить все потоки, чтобы делать определенные вещи ... и это может быть зарегистрировано. –