美文网首页
java进程服务内存占用高,排查解决

java进程服务内存占用高,排查解决

作者: 小明同学777 | 来源:发表于2020-12-21 17:07 被阅读0次

1.查看内存占用过高的进程PID

top -c

2.查看内存中存活对象的统计,找出业务相关的类名

jmap -histo:live PID > xxx.log

3.上面简单的统计信息还是没法定位问题类的话,就输出内存明细来分析,下面的命令会输出内存中所有的信息,输出的文件大小和内存大小基本一致,而且会导致内存暂时挂起,谨慎使用。

jmap -dump:live,format=b,file=xxx.hprof PID

4.对dump下来的文件进行分析,文件大小不是很大的话,使用jdk自带的jhat命令即可,输入命令:jhat -J-mx2G -port 7170,该命令可以查看内存占用的对象。
如果文件太大,可以下载到本地使用jdk自带的 jvisualvm 工具进行分析。下面详细讲怎么使用jvisualvm定位内存占用问题。

相关文章

网友评论

      本文标题:java进程服务内存占用高,排查解决

      本文链接:https://www.haomeiwen.com/subject/fzarnktx.html