Я администрирую сервер с Tomcat, который в последнее время получает много трафика.
Если я отслеживаю использование памяти в диспетчере задач, я вижу, что использование памяти растет, и в конечном итоге tomcat вылетает около отметки 1 ГБ.
Вот соответствующие биты памяти, которые я установил в свойствах Tomcat (это Windows Server):
Внутренний пул памяти: 1024 МБ
Максимальный пул памяти: 1024 МБ
-XX: MaxPermSize = 256 МБ
Странно то, что с тех пор, как возникли эти проблемы, я развернул лямбда-зонд в экземпляре Tomcat, и значения использования памяти, которые я вижу, намного ниже, например, диспетчер задач может отображать 467 МБ, в то время как «Всего», используемое в зонде, составляет 212 МБ. Кроме того, максимальный общий объем, указанный в Probe, составляет 1,29 ГБ, тогда как я ожидал 1 ГБ, максимальная память, установленная выше.
Если я заставлю сборщик мусора запускаться с помощью Probe, я смогу предотвратить сбой Tomcat на некоторое время (на неопределенный срок, AFAIK). Так почему же сборщик мусора не запускается автоматически и не останавливает сбой Tomcat?
Спасибо.
Фил,
Вам необходимо настроить конфигурацию JVM. Взгляните на конфигурацию JMV, которую я использую на своем сервере Tomcat, который очень хорошо работает в условиях интенсивного трафика:
http://acevedoalberto.wordpress.com/2009/01/16/hello-world/
Альберто