首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中总线程堆栈大小的实时监控

Java中总线程堆栈大小的实时监控
EN

Stack Overflow用户
提问于 2021-02-07 21:39:29
回答 1查看 998关注 0票数 0

我知道,在Java中,线程堆栈的大小取决于JVM和OS体系结构,默认情况下(除非设置了-Xss ),大小在256 K到1m之间。是否有一种方法或工具允许查看运行时所有当前正在运行的线程消耗的总堆栈大小,就像我可以使用JDK包中的JVisualVM看到堆大小或Metaspace大小一样?我知道这个值可以计算为线程堆栈大小*当前正在运行的线程数,但是在运行时监视这个值是很好的。

EN

回答 1

Stack Overflow用户

发布于 2021-02-07 22:41:21

你可以试试JProfiler。如果您想在自己尝试之前看到它在运行,请检查

另外,您认为线程堆栈大小在256 k到1m之间变化的想法是绝对正确的。

在JDK 8中,HotSpot安装附带了一个名为本机内存跟踪(默认:禁用)的特性。若要启用它,请使用:

代码语言:javascript
复制
-XX:NativeMemoryTracking=[off|detail|summary]

启用NMT之后,可以使用以下方法检查线程或线程堆栈占用的内存空间:

代码语言:javascript
复制
jcmd <pid> VM.native_memory [summary | detail | baseline | summary.diff | detail.diff | shutdown] [scale= KB | MB | GB]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66093387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档