洛阳霞光只做有效果的网站,气象网站建设的自查报告,泉州百度网站推广,wordpress拖动建站jmap java内存映射工具
1、jmap
jdk安装后会自带一些小工具#xff0c;jmap命令(Memory Map for Java)是其中之一。主要用于打印指定Java进程(或核
心文件、远程调试服务器)的共享对象内存映射或堆内存细节。
jmap命令可以获得运行中的jvm的堆的快照#xff0c;从而可以离…jmap java内存映射工具
1、jmap
jdk安装后会自带一些小工具jmap命令(Memory Map for Java)是其中之一。主要用于打印指定Java进程(或核
心文件、远程调试服务器)的共享对象内存映射或堆内存细节。
jmap命令可以获得运行中的jvm的堆的快照从而可以离线分析堆以检查内存泄漏检查一些严重影响性能的
大对象的创建检查系统中什么对象最多各种对象所占内存的大小等等。可以使用jmap生成Heap Dump。
如果不想使用jmap命令要想获取Java堆转储快照还有一些比较暴力的手段譬如在前面用过的
-XX:HeapDumpOnOutOfMemoryError参数可以让虚拟机在OOM异常出现之后自动生成dump文件通过
-XX:HeapDumpOnCtrlBreak参数可以使用[ctrl][Break]键让虚拟机生成dump文件又或者在Linux系统下通过
Kill -3 命令发送进程退出信息恐吓一下虚拟机也能拿到dump文件。
jmap的作用并不仅仅是为了获取dump文件他还可以查询finalize执行队列java堆和永久代的详细信息如空
间使用率、当前用的是哪种收集器等。
2、jmap命令
主要选项
选项作用-dump生成java堆转储快照格式为-dump:[live,]formatb,file,其中live子参数说明是否只dump出存活对象-finalizerinfo显示在F-Queue中等待Finalizer线程执行finalize方法的对象只在linux/solaris平台下有效-heap显示堆详细信息如使用哪种回收期、参数配置、分带状况等只在linux/solaris平台下有效-histo显示堆中对象统计信息包括类、实例数量和合计容量-permstat以ClassLoader为统计口径显示永久代内存状况只在linux/solaris平台下有效-F当虚拟机进程对-dump选项没有响应时可以使用这个选项强制生成dump快照只在linux/solaris平台下有效
2.1 jmap -dump
生成java堆转储快照
格式jmap -dump:[live,]formatb,file文件路径 pid 可以使用jdk提供的jvisualvm查看hprof文件
2.2 jmap -heap
显示堆详细信息
格式jmap -heap pid 2.3 jmap -histo
显示堆中对象统计信息包括类、实例数量和合计容量
命令jmap -histo[:live] pid