当前位置:  开发笔记 > 编程语言 > 正文

jmap-histo和堆操作是否会给jvm带来开销?

如何解决《jmap-histo和堆操作是否会给jvm带来开销?》经验,为你挑选了1个好方法。

正如标题状态,多少开销不jmap -histojmap -heap带来一个JVM分别?

如果内存敏感的Java进程处于边缘OutOfMemory(例如大约96%的堆已满,并且无法由完整的gc清除),那么其中一项操作可能会将jvm带到OutOfMemory吗?



1> apangin..:

jmap -histo并且jmap -heap工作方式不同:jmap -histo使用动态附加机制,并jmap -heap通过HotSpot Serviceability Agent工作。区别在这里描述。

因此,jmap -histo它由JVM本身执行,但是jmap -heap在JVM进程挂起时在工具进程中运行。在这两种情况下,都不会创建新的Java对象,该工具将不会造成OutOfMemoryError

在这两种情况下,应用程序线程都将停止:jmap -histo停止Java线程,并jmap -heap停止整个JVM进程。暂停的持续时间可能会相当长,尤其是对于大堆而言。例如,遍历4GB堆可能需要几秒钟。

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有