[英]Time Taken to create memory snapshot in YourKit Format on a 8GB JVM
[英]Time taken during memory profiling using yourkit
在150G机器上配置一个大约消耗100G内存的Java应用程序通常需要花费多少时间? 大约2小时后,我开始进行性能分析,到目前为止,它仅完成了20%。 自从我开始分析以来,jvm使用的总内存已达到150G(接近RAM大小)。 高内存进程在使用yourkit进行性能分析时花费大量时间是正常的,还是我做错了什么。 由于内存已到达RAM内存,是否有可能发生大量磁盘交换,这会减慢内存分析的速度。 我怎样才能使这个过程更快。 如果无法使其更快,调查Java应用程序中的内存泄漏的其他方法有哪些?
嗯,你的JVM 是大:)
如果您有正在运行的JVM,获取有关堆中对象的某些信息的最快方法是获取jmap直方图:
jmap -histo:live <pid>
它将打印堆中的所有活动对象(:live执行gc),其实例编号和(浅)大小。
当然,它不适合进行复杂的分析,但通常足以发现泄漏,尤其是在泄漏较大的情况下:将直方图与泄漏前的直方图进行比较。
请参阅http://docs.oracle.com/javase/7/docs/technotes/tools/share/jmap.html上的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.