查看服务gc的次数jstat -gc 9 5000 ,9、9、9表示运行服务的pid 5000每5秒输出一次
jstat命令格式: jst at [ options ] vmid [ interval ] [ count ]
参数说明:
Options,选项,我们一般用-gcutil看gc的状况
vmid、VM的进程编号,即当前正在运行的java进程编号
间隔,间隔,单位为秒或毫秒
计数、打印次数,默认情况下打印无数次
结果说明
显示内容的说明如下。 有些结果会用其他参数显示,但省略说明。
S0C )年轻一代中的第一个服务器容量(字节) ) ) ) ) ) ) )。
S1C )年轻一代中的第二服务器容量(字节) ) ) ) ) ) )。
S0U )年轻一代中第一个survivor (网络)当前正在使用的空间(字节)。
S1U )年轻一代中的第二个survivor (网络)是当前使用的空间(字节) )。
EC )年轻一代的伊甸园容量(字节) )。
欧盟:在年轻的一代,伊甸园(Eden )现在使用的是空格(字节)
OC:Old世代的容量(字节)
OU:Old层代当前使用的空间(字节)
PC :永久容量(字节) )
PU:Perm (永久) (当前使用的空间(字节) )。
Ygc )从APP启动到采样的年轻一代GC次数
YgcT )从APP启动到采样的年轻一代GC所用的时间(s ) ) ) ) ) ) ) ) )。
Fgc )从APP应用程序启动到采样的old代(所有gc ) gc次数
FgcT :从启动APP应用程序到采样的old一代(所有gc ) gc所需时间(s ) ) ) ) ) ) ) ) )。
gcT :从APP应用程序启动到采样的GC的总时间(s ) )。
NGCMN :在年轻一代(young )中初始化的)最小)的大小(字节) ) )。
NGCMX (年轻一代的最大容量(字节) )。
年轻一代(young )的当前容量(字节) ) )。
OGCMN:old世代中的初始化(最小大小)字节) ) ) ) )。
OGCMX:old世代的最大容量(字节)
OGC:old世代现在新生成的容量(字节)
PGCMN:perm代中的初始化(最小大小(字节) ) ) ) ) ) ) ) ) ) )。
PGCMX:perm代的最大容量(字节)
PGC:perm世代现在新生成的容量(字节)
S0 )占年轻一代中第一台survivor (服务器)使用的当前容量的百分比
S1 )占年轻一代中第二个survivor (服务器)使用的当前容量的百分比
e )年轻一代的伊甸园(Eden )已使用的百分比占当前容量
o:old世代相对于当前容量的使用率
p—p—perm代对当前容量的利用率
S0CMX (年轻一代中第一个survivor的最大容量(字节) ) )。
S1CMX )年轻一代中的第二个survivor (最大服务器容量)字节) )。
ECMX :年轻一代的伊甸园最大容量(字节) )。
DSS :当前需要survivor (生存区容量)字节) )。 (Eden区已满) )
TT :持有次数限制
MTT :最大持有次数限制
如果dump文件导出失败,请确保导出dump文件以保留现场。 jmap -dump:format=b,file=salary1 9
安装mat MAT有两种方法。
一种安装方式是将MAT作为eclipse的插件安装。 启动eclipse---- help---- eclipse market place,搜索、安装内存分析器,然后重新启动eclipse即可。
另一种安装方法是将MAT作为独立软件安装。 前往官网http://www.eclipse.org/mat/downloads.PHP,根据操作系统版本下载最新的mat。 下载并解压缩就可以运行了。
用mat分析dump文件
导入mat
cat给出分析结果
在ch.QoS.logback.ext.spring.delegatinglogbackappender中,右键单击并选择show objects by class,然后单击by outgoing references