2016-10-27 11 views
0

фон:Tomcat 8 и Java 8: использование памяти

Windows Server 2012 R2- 64 bit 
16 GB RAM 
Tomcat 8 
Java 8 

Я бег приложения Java на Tomcat 8. Я перед проблемой использования памяти. Использование памяти увеличивается до 95%, а серверные сбои. Нет проблем с использованием ЦП.

Я устанавливаю JAVA_OPTS в tomcat\bin\catalina.bat

set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:PermSize=512m -XX:+UseParallelGC" 

Примечание: XMS и XMX устанавливается от Catalina UI.

Я понимаю, нет никакого понятия PermGen в Java 8 поэтому я попытался ниже JAVA_OPTS с -XX: MaxMetaspaceSize = 512M слишком

set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:MaxMetaspaceSize=512m -XX:+UseParallelGC" 

Но не повезло.

Интересная вещь:

Память, используемая TOMCAT процесса остаются около 3,5 ГБ, но использование памяти доходит до 15 Гб. Все остальные процессы составляют всего 1 ГБ. Я не знаю, какой процесс потребляет 9-10 ГБ.

Системная память повышается, и здесь есть привязка. Task Manager

Любые мысли?

Спасибо.

+0

Пожалуйста, исправьте меня, если я ошибаюсь: пространство Permgen полностью удалено из Java 8, а metaspace введена. Metaspace использует встроенную память ОС, поэтому вполне возможно, что неоткрытые 9-10 ГБ будут съедаться компанией Metaspace. Если эта теория верна. Может кто-нибудь сказать мне, как ограничить Metaspace. Я уже пробовал XX: MaxMetaspaceSize ... спасибо – AKumar

+0

вам нужно отправить более подробную статистику. какое использование памяти идет вверх (система или vm?), какие цифры памяти (rss, буферы, виртуальные, ...). все, что может быть полезно. – the8472

+0

Добавлен снимок диспетчера задач системы. – AKumar

ответ

0

Проблема была в том, что мы использовали VM. Были некоторые процессы обновления, которые используют, чтобы поддерживать работу виртуальной машины.