优化JVM性能的秘密武器:深入理解与运用jmap
jmap是JDK自带的工具软件,主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。可以使用jmap生成Heap Dump,map是一个多功能的命令。它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列。
jmap用法
参数:
option: 选项参数。
pid: 需要打印配置信息的进程ID。
executable: 产生核心dump的Java可执行文件。
core: 需要打印配置信息的核心文件。
server-id 可选的唯一id,如果相同的远程主机上运行了多台调试服务器,用此选项参数标识服务器。
remote server IP or hostname 远程调试服务器的IP地址或主机名。
option
no option: 查看进程的内存映像信息,类似 Solaris pmap 命令。
heap: 显示Java堆详细信息
histo[:live]: 显示堆中对象的统计信息
clstats:打印类加载器信息
finalizerinfo: 显示在F-Queue队列等待Finalizer线程执行finalizer方法的对象
dump:<dump-options>:生成堆转储快照
F: 当-dump没有响应时,使用-dump或者-histo参数. 在这个模式下,live子参数无效.
help:打印帮助信息
J<flag>:指定传递给运行jmap的JVM的参数
命令一:查看java 堆(heap)使用情况,执行命令:jmap -heap pid
命令二:no option:jmap pid
命令三:显示堆中对象的统计信息 jmap -histo:live pid
命令四:打印类加载器信息,jmap -clstats pid
命令五:生成堆转储快照dump文件,jmap -dump:format=b,file=heapdump.phrof pid,
这个命令执行,JVM会将整个heap的信息dump写入到一个文件,heap如果比较大的话,就会导致这个过程比较耗时,并且执行的过程中为了保证dump的信息是可靠的,所以会暂停应用, 线上系统慎用。
上一篇: 剖析JVM堆内存dump: 一种深入理解与调试技巧
下一篇: 优化 JVM 性能的秘密武器:jmap
推荐阅读
-
深入理解并实践Jvm Dump、jstack、jmap和jstat: 基础工具详解与运用指南
-
深入理解 JVM 性能优化:jmap命令的详尽指南
-
优化 JVM 性能的秘密武器:jmap
-
优化JVM性能的秘密武器:深入理解与运用jmap
-
理解与探索:深入解析jstack(线程追踪)、jmap(内存检查)与jstat(性能检测)的实用工具
-
深入理解与实战: JVM 调优利器 - jps、jstack、jmap、jhat、jstat的全面运用指南
-
深入理解与实战: JVM性能优化利器 - jps、jstack、jstat、jmap、jinfo的全面应用指南
-
深入理解Java 14:jmap与jhat性能分析工具的实用指南
-
深入理解并实战运用 JVM 性能优化利器:jps、jstack、jmap、jhat、jstat、hprof的全面指南
-
深入理解JVM:jmap命令的详细剖析与讲解