linux查看jvm内存

  1. 查看内存大小
    free -h
    free命令相关知识linux查看jvm内存
  2. 判断Java程序对内存的消耗
    top
    top命令相关知识
    linux查看jvm内存
  3. 查看tomcat信息
    ps -ef | grep tomcat
    linux查看jvm内存

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

4.2分析线程状态

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

jvm优化