фон: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 ГБ.
Системная память повышается, и здесь есть привязка.
Любые мысли?
Спасибо.
Пожалуйста, исправьте меня, если я ошибаюсь: пространство Permgen полностью удалено из Java 8, а metaspace введена. Metaspace использует встроенную память ОС, поэтому вполне возможно, что неоткрытые 9-10 ГБ будут съедаться компанией Metaspace. Если эта теория верна. Может кто-нибудь сказать мне, как ограничить Metaspace. Я уже пробовал XX: MaxMetaspaceSize ... спасибо – AKumar
вам нужно отправить более подробную статистику. какое использование памяти идет вверх (система или vm?), какие цифры памяти (rss, буферы, виртуальные, ...). все, что может быть полезно. – the8472
Добавлен снимок диспетчера задач системы. – AKumar