linux查看jvm内存

  1. 查看内存大小
    free -h
    free命令相关知识在这里插入图片描述
  2. 判断Java程序对内存的消耗
    top
    top命令相关知识
    在这里插入图片描述
  3. 查看tomcat信息
    ps -ef | grep tomcat
    在这里插入图片描述

4.1分析内存实例
pid(21069) 使用jmap来查看jvm的堆的快照
jmap -histo 21069 | more
jmap命令相关知识
在这里插入图片描述
从上面图中可以观察到apache的包占用太多,可以看到sheettml,这个可以猜测出是excel的问题,然后联想到系统有excel导入的功能,最好检查了一下代码,发现代码中的Workbook没有关闭,将其关闭

4.2分析线程状态

查看该pid(21069)下线程对应的系统占用情况。top -Hp 21069 在这里插入图片描述
(21069为pid)打印线程信息 jstack -l 21069> jstack.log
将要查看的线程id转化为16进制,在 jstack.log文件夹中搜索查询原因

jvm优化

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页