我正在尝试使用heap和jstat命令来分析不同的IDE和使用Java的程序对堆的使用情况,因为我的机器运行速度非常慢。
我有16个GIG Ram,我的最小堆是252MB,我的最大堆是3,9 Gig。现在我想知道不同程序的堆使用情况。
jmap是实验性的,已在版本60中删除,请您告诉我是否有
1)使用Java Advanced Management Console在144版中使用jmap的方法?如果是这样,怎么办?
2)由第三方提供的替代程序/命令行管理器来分析Java堆使用情况?
3)Java Usage Tracker是否可以替代?如果是这样,我需要考虑什么?
谢谢。
BR
序号
最佳答案
您可以在linux-kill -3 [java-process-number]
中进行线程转储,
线程转储将出现在进程的日志文件中。
在线程转储的最后,您将看到有关堆使用情况的一些统计信息。
例:
Heap
garbage-first heap total 524288K, used 14336K [0x00000007a0000000, 0x00000007a0101000, 0x00000007c0000000)
region size 1024K, 15 young (15360K), 0 survivors (0K)
Metaspace used 8584K, capacity 8688K, committed 8832K, reserved 1056768K
class space used 1022K, capacity 1080K, committed 1152K, reserved 1048576K
关于server - 分析Java 8 Release 144中的堆使用情况-功能已删除?那么如何分析堆呢?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45729922/