Задержка, вызванная сборкой мусора Java, влияет на производительностьJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Задержка, вызванная сборкой мусора Java, влияет на производительность

Сообщение Anonymous »

Я заметил странное явление в своем приложении. Я сохраняю объекты в Hashmap после отправки их на сервер и удаляю их при получении ответа.

Недавно я заметил очень низкую производительность после бега. Проверив, я обнаружил, что использование памяти остается на уровне 4 ГБ, а затем падает до менее 1 ГБ. Я подозреваю, что он очищает множество объектов, поэтому производительность становится такой плохой.

Итак, вопрос в том, почему сборка мусора в Java выполняется так поздно? То есть зачем ждать, пока куча заполнится, а затем выполнять сборку мусора? Разве он не должен собирать мусор через регулярные промежутки времени?

Объекты, которые хранятся в HashMap, создаются прямо в этот самый момент, то есть они недолговечны.

Это в Linux (RHEL), Oracle JVM HotSpot 7. 64-бит. 4 ядра. Вот как приложение запускается:

Код: Выделить всё

java -jar -Xmx4g prog.jar
Примечание: я видел это: настройка сборки мусора для низкой задержки. Но сейчас я хочу понять, почему сборщик мусора так долго срабатывает?

Подробнее здесь: https://stackoverflow.com/questions/165 ... erformance
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»