下图中22455是tomcat的进程号,这里不重复
----------------------------------------------------------------------------------------------------------------------------------------------------
查看tomcat 占用内存:ps aux | grep tomcat | grep -v grep | awk -F ' ' '{print $5,$6}'
第一个数字是占用的虚拟内存大小,第二数字是占用物理内存大小,单位byte
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
查看具体占用情况: jmap -histo 进程号 | more
其中排在最上面的几个缩写说明
[C is a char[]
[S is a short[]
[I is a int[]
[B is a byte[]
[[I is a int[][]
上面的输出中[C对象占用Heap这么多,往往跟String有关,String其内部使用final char[]数组来保存数据的
constMethodKlass/ methodKlass/ constantPoolKlass/ constantPoolCacheKlass/ instanceKlassKlass/ methodDataKlass与Classloader相关,常驻于Perm区。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
查看堆转储快照(重要,比较直接)
jmap命令用于生成堆转储快照;jhat命令用于启动堆转储快照的web server,以便于通过界面查看。
- 运行命令(22455是tomcat进程号): jmap -dump:format=b,file=dumpfile20190528 22455
[root@XXXXXX temp]# jmap -dump:format=b,file=dumpfile20190528 22455
Dumping heap to /opt/apache-tomcat-8.5.8/temp/dumpfile20190528 ...
Heap dump file created
则当前目录下会生成一个dumpfile20190528文件,即堆转储快照文件。
2. 运行命令: jhat dumpfile20190528
[root@XXXXXXXXX temp]# jhat dumpfile20190528
Reading from dumpfile20190528...
Dump file created Tue May 28 15:59:18 CST 2019
Snapshot read, resolving...
Resolving 22266807 objects...
Chasing references, expect 4453 dots......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.
浏览器访问 http://localhost:7000,展示的是堆转储快照信息界面:
- 第一项package是项目中的包路径及实例列表
- 第二项是实例的统计信息
- 比较实用的是Show heap histogram
Show heap histogram
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
jmap输出jvm参数(java8)
使用命令:../usr/java/jdk1.8.0_111/bin/jmap -heap 22455