linux查看jvm内存
- 查看内存大小
free -h
free命令相关知识 - 判断Java程序对内存的消耗
top
top命令相关知识 - 查看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文件夹中搜索查询原因