Я запускаю некоторые приложения Rails на Jboss с JRuby.
Иногда сборщик мусора Java не может освободить память, и jvm использует всю доступную память.
Я пытаюсь создать настраиваемую метрику с помощью jstat, но не могу выяснить некоторые ценные статистические данные, которые позволяют мне обнаруживать некоторые опасные условия и предпринимать некоторые действия на сервере до сбоя Java.
Когда вся память на jvm используется, одно ядро сервера остается на полную мощность, пытаясь собрать и освободить некоторую память.
У вас есть идея, как я могу определить, когда сборщик мусора вот-вот выйдет из строя?
Спасибо.
Подключитесь к приложению с помощью Java Mission Control и либо сделайте запись вручную, либо настройте триггер памяти. Руководство пользователя по управлению полетом находится по адресу http://docs.oracle.com/javacomponents/jmc-5-5/jmc-user-guide/index.html и http://docs.oracle.com/javacomponents/jmc-5-5/jfr-runtime-guide/index.html
Вы также можете использовать диспетчер шаблонов для записи всей деятельности по сбору мусора. Таким образом, вы можете видеть данные о распределении с точки зрения того, где код создает объекты.