如何用Java测量堆栈内存?

时间:2013-07-11 00:52:16

标签: java jvm stack-overflow

在事务引擎中使用了一个核心类。我进行了大量并发事务的测试,这导致了致命的堆栈溢出异常。我想知道是否有任何方法可以测量可用的堆栈内存量,以避免异常。

我正在研究一种动态的方法,因为设置并发事务数量的硬限制并不理想。

2 个答案:

答案 0 :(得分:2)

尝试Java VisualVM。它来自Oracle,并包含在JDK中。你可以在这里找到它:

${JDK}/bin/jvisualvm.exe

通过此可以观察到您想要了解的有关Java应用程序性能的任何内容。

Here's如果你需要它的快速教程,虽然它实际上并不需要太多的解释。

答案 1 :(得分:1)

您可以使用-Xss参数设置Java程序的堆栈大小(或"-XX:ThreadStackSize参见Java HotSpot VM Options)。

但是,一旦设置, Java堆栈大小就无法动态更改