监视Java垃圾收集器和内存状态

我在JRuby上运行Jboss上的Rails应用程序。

有时Java垃圾收集器不能释放内存,而且jvm会占用所有可用的内存。

我试图用jstat创build一个自定义的度量标准,但是却找不到一些有价值的统计信息,这些统计信息允许我检测到一些有风险的情况,并在Java崩溃之前在服务器上采取一些操作。

当使用jvm上的所有内存时,服务器的一个内核将保持满容量,尝试收集并释放一些内存。

你有什么想法,我怎样才能检测GC什么时候会失败?

谢谢。

使用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运行时导向/ index.html中

您也可以使用模板pipe理器来logging所有垃圾收集活动。 这样你可以看到分配数据的代码是在哪里做对象。