searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

JAVA内存分析工具介绍

2023-08-31 07:28:54
27
0

1、jstack(打印线程快照)

jstack 是 JVM 自带的 Java 堆栈跟踪工具,它用于打印出给定的 java 进程ID、core file、远程调试服务的Java堆栈信息。jstack 命令用于生成虚拟机当前时刻的线程快照。

命令格式:

2、jps 工具(列出java进程)

jps(Java Virtual Machine Process Status Tool)是JDK提供的一个可以列出正在运行的Java虚拟机的进程信息的命令行工具,它可以显示 Java 虚拟机进程的执行主类(Main Class,main()函数所在的类)名称、本地虚拟机唯一ID(LVMID,Local Virtual Machine Identifier)等信息。另外,jps命令只能显示它有访问权限的Java进程的信息。

通过 jps 命令可以查看当前系统中有哪些 java 进程。
 
 

命令语法:



命令参数说明:

  • -q:不显示主类名称、JAR文件名和传递给主方法的参数,只显示本地虚拟机唯一ID。
  • -mlvV:我们可以指定这些参数的任意组合。
  • -m:显示Java虚拟机启动时传递给main()方法的参数。
  • -l:显示主类的完整包名,如果进程执行的是JAR文件,也会显示JAR文件的完整路径。
  • -v:显示Java虚拟机启动时传递的JVM参数。
  • -V:不显示主类名称、JAR文件名和传递给主方法的参数,只显示本地虚拟机唯一ID。
  • hostid:指定的远程主机,可以是ip地址和域名, 也可以指定具体协议,端口。如果不指定,则显示本机的Java虚拟机的进程信息。
  • -help:显示jps命令的帮助信息。

3、jmap 工具(查看堆内存快照)

jmap(Java Virtual Machine Memory Map)是 JDK 提供的一个可以生成 Java 虚拟机的堆转储快照 dump 文件的命令行工具。

通过命令: jmap - heap 进程id 可以查看堆内存占用情况。

命令语法:

  • pid:要打印配置信息的Java虚拟机的进程ID。
  • option:jmap命令的可选参数。如果没有指定这个参数,jinfo命令会显示Java虚拟机进程的内存映像信息,如下图:

3.1、常见参数

3.1.1、jmap -heap pid

显示Java堆的如下信息:

  • 被指定的垃圾回收算法的信息,包括垃圾回收算法的名称和垃圾回收算法的详细信息。
  • 堆的配置信息,可能是由命令行选项指定,或者由Java虚拟机根据服务器配置选择的。
  • 堆的内存空间使用信息,包括分代情况,每个代的总容量、已使用内存、可使用内存。如果某一代被继续细分(例如,年轻代),则包含细分的空间的内存使用信息。
0条评论
0 / 1000
p****n
2文章数
0粉丝数
p****n
2 文章 | 0 粉丝
p****n
2文章数
0粉丝数
p****n
2 文章 | 0 粉丝
原创

JAVA内存分析工具介绍

2023-08-31 07:28:54
27
0

1、jstack(打印线程快照)

jstack 是 JVM 自带的 Java 堆栈跟踪工具,它用于打印出给定的 java 进程ID、core file、远程调试服务的Java堆栈信息。jstack 命令用于生成虚拟机当前时刻的线程快照。

命令格式:

2、jps 工具(列出java进程)

jps(Java Virtual Machine Process Status Tool)是JDK提供的一个可以列出正在运行的Java虚拟机的进程信息的命令行工具,它可以显示 Java 虚拟机进程的执行主类(Main Class,main()函数所在的类)名称、本地虚拟机唯一ID(LVMID,Local Virtual Machine Identifier)等信息。另外,jps命令只能显示它有访问权限的Java进程的信息。

通过 jps 命令可以查看当前系统中有哪些 java 进程。
 
 

命令语法:



命令参数说明:

  • -q:不显示主类名称、JAR文件名和传递给主方法的参数,只显示本地虚拟机唯一ID。
  • -mlvV:我们可以指定这些参数的任意组合。
  • -m:显示Java虚拟机启动时传递给main()方法的参数。
  • -l:显示主类的完整包名,如果进程执行的是JAR文件,也会显示JAR文件的完整路径。
  • -v:显示Java虚拟机启动时传递的JVM参数。
  • -V:不显示主类名称、JAR文件名和传递给主方法的参数,只显示本地虚拟机唯一ID。
  • hostid:指定的远程主机,可以是ip地址和域名, 也可以指定具体协议,端口。如果不指定,则显示本机的Java虚拟机的进程信息。
  • -help:显示jps命令的帮助信息。

3、jmap 工具(查看堆内存快照)

jmap(Java Virtual Machine Memory Map)是 JDK 提供的一个可以生成 Java 虚拟机的堆转储快照 dump 文件的命令行工具。

通过命令: jmap - heap 进程id 可以查看堆内存占用情况。

命令语法:

  • pid:要打印配置信息的Java虚拟机的进程ID。
  • option:jmap命令的可选参数。如果没有指定这个参数,jinfo命令会显示Java虚拟机进程的内存映像信息,如下图:

3.1、常见参数

3.1.1、jmap -heap pid

显示Java堆的如下信息:

  • 被指定的垃圾回收算法的信息,包括垃圾回收算法的名称和垃圾回收算法的详细信息。
  • 堆的配置信息,可能是由命令行选项指定,或者由Java虚拟机根据服务器配置选择的。
  • 堆的内存空间使用信息,包括分代情况,每个代的总容量、已使用内存、可使用内存。如果某一代被继续细分(例如,年轻代),则包含细分的空间的内存使用信息。
文章来自个人专栏
工具推荐
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0