2013-11-09 12 views
0

Виртуальная машина:Shinking JVM памяти и подкачки

4CPU 10GB RAM 10GB своп

Java 1,7 -Xms = -Xmx = 6144m

Tomcat 7

Мы наблюдали очень странное поведение с JVM. Живая память JVm начала сокращаться, а использование swap увеличилось до более чем 50%.

См. Ниже статистику по средствам мониторинга.

http://i44.tinypic.com/206n6sp.jpg http://i44.tinypic.com/m99hl0.jpg

Все указатели, чтобы понять это благодарен.

Спасибо!

+0

Я считаю, что это скорее вопрос администрирования системы Linux, поэтому он, вероятно, относится к Server Fault, а не здесь. Но я предполагаю, что есть еще один процесс, который не отображается на вашем графике. Используйте 'top', чтобы просмотреть все процессы и нажмите' M' для сортировки по использованию памяти. –

ответ

0

Возможно, ваша программа на Java была бездействующей, и она не нуждалась в этой памяти, и у вас была высокая swappiness? В такой ситуации ваша ОС будет освобождать оперативную память на всякий случай и оставить только использованную часть.

На мой взгляд, это на самом деле хорошее поведение, почему вы должны использовать ОЗУ для процесса, который не будет его использовать?

Если вы не запускаете только этот процесс на виртуальной машине, было бы неплохо установить swappiness на 0 или другое небольшое число - эта память была предоставлена ​​этому одиночному процессу, поэтому мы можем отключить его замену.

0

Благодарим за отзыв. Да, это ближе к устранению неполадок системы, чем Java, но я подумал, что правильный форум, чтобы инициировать эту тему, может показаться, что кто-то видел такие явления с JVM.

В любом случае, я уже проверил верх и не было другого процесса, кроме Java, который был голоден для памяти. На самом деле вторым верхним процессом было использование 72 МБ (RSS).

Нет, в этой системе не происходит агрессивности, но по умолчанию 60. Одна дополнительная информация, которую я пропустил, состоит в том, что у нас есть 4 сервера приложений в кластере, и все они показали это поведение точно в одно и то же время. AFAIK, JVM не заменяет, но ОС будет. Но все это меня путает.

Все эти серверы приложений являются производственными и занятыми запросами на обслуживание, поэтому не простаивают. Используемый размер кучи был в Avg 5 ГБ, используемом в 6 ГБ.

Другая интересная вещь, которую я обнаружил, - это некоторые сообщения об ошибках в журналах Vmware в то же время, что и я изучаю.

Смежные вопросы