我正在写一个简单的内存报告工具(使用现有的工具,在这种特殊情况下不是一个选项)。 我知道了打印最大,提交和使用,通过迭代返回的所有内存池ManagementFactory.getMemoryPoolMXBeans()
这让我堆内存(伊甸园,幸存者老),PermGen的,而“代码缓存”的三个堆代。
这些都不似乎是方法堆栈存储器。 最接近的事似乎是“代码缓存”,但我读过,这实际上是在hotspotter放编译的类。
我问,因为我想追查一个JBoss Web应用程序多数民众赞成未能创建一个新的线程崩溃的原因。 http://www.mastertheboss.com/jboss-server/jboss-monitoring/how-to-solve-javalangoutofmemoryerror-unable-to-create-new-native-thread表明,这可能是由于耗尽堆栈内存,这按理说。 现在的问题是:如何获取栈内存,所以我可以检查?