linux jmap如何使用

linux jmap如何使用,第1张

jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小。

命令格式:

jmap [options] pid

-dump:[live,]format=b,file=<filename>  

--dump堆到文件,live指明是活着的对象,file指定文件名

因为在dump:live前会进行full gc,因此不加live的堆大小要大于加live堆的大小

-finalizerinfo  打印等待回收对象的信息 -heap  打印堆总结 -histo[:live]  打印堆的对象统计,包括对象数、内存大小等等 -permstat  打印java堆perm区的classloader统计 -F  强制,在jmap -dump或jmap -histo中使用,如果pid没有相应的回复 

-J  提供jvm选项,如:-J-Xms256m

docker中,jdk用镜像配置环境变量的方法如下:

一、安装 JDK

1、首先,解压 JDK 程序包:

tar -zxf /mnt/software/jdk-7u67-linux-x64.tar.gz -C .

2、重命名 JDK 目录:

mv jdk1.7.0_67/ jdk/

二、设置环境变量

首先,编辑.bashrc文件

vi ~/.bashrc

然后,在该文件末尾添加如下配置:

export JAVA_HOME=/opt/jdk

export PATH=$PATH:$JAVA_HOME

最后,需要使用source命令,让环境变量生效:

source ~/.bashrc

jmap(JVM Memory Map):作用一方面是获取dump文件(堆转储快照文件,二进制文件),它还可以获取目标Java进程的内存相关信息,包括Java堆各区域的使用情况、堆中对象的统计信息、类加载信息等。

开发人员可以在控制台输入命令"jmap -help"查阅jmap工具的具体使用方式和一些标准选项配置。

它的基本使用语法为:

其中option包括:

说明:这些参数和linux下输入显示的命令多少会有不同,包括也受jdk版本的影响。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8479215.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存