java 内存情况_分析java内存情况

使用pmap查看进程内存

运行命令

使用pmap可以查看某一个进程(非java的也可以)的内存使用使用情况,

命令格式:

pmap 进程id

示例说明

例如运行:

pmap 12358

显示结果如下图(内容较多, 分成几张图说明):

内容开始部分

3f3080cf24323c5fa88ac760edf3113d.png

内容结束部分

5906fa7dba9015df447d28becec2b2b4.png

上图中,

第一列,内存块起始地址

第二列,占用内存大小

第三列,内存权限

第四列,内存名称,anon表示动态分配的内存,stack表示栈内存

最后一行,占用内存总大小,请注意,此处为虚拟内存大小,占用的物理内存大小可以通过top查看

使用jmap查看Java进程对象使用情况

运行命令

使用jmap可以查看某个Java进程中每个对象有多少个实例,占用多少内存,

命令格式:

jmap -histo 进程id

示例说明

例如运行:

jmap -histo  12538

显示结果如下图(内容较多, 分成几张图说明):

内容开始部分

ad4f9613544e42fb061fcd0de55f5b0d.png

内容结束部分

4a8c11f18533757dc477d95c9478df92.png

上图中:

第一列,序号,无实际意义

第二列,对象实例数量

第三列,对象实例占用总内存数,单位:字节

第四列,对象实例名称

最后一行,总实例数量与总内存占用数

另,部分示例说明(还没弄明白,后续补充):

[C,

[B,

[I,

[J,

[L,

使用jstat查看Java内存分布及回收情况

直接看这个帖子:

http://blog.csdn.net/zlzlei/article/details/46471627

命令格式

jstat命令命令格式:

jstat [Options] vmid [interval] [count]

参数说明:

Options,选项,我们一般使用 -gcutil 查看gc情况

vmid,VM的进程号,即当前运行的java进程号

interval,间隔时间,单位为秒或者毫秒

count,打印次数,如果缺省则打印无数次

示例说明

示例

通常运行命令如下:

jstat -gc 12538 5000

即会每5秒一次显示进程号为12538的java进成的GC情况,

显示内容如下图:

8af9444eca4228d276a2516ba03f30ca.png

结果说明

显示内容说明如下(部分结果是通过其他其他参数显示的,暂不说明):

S0C:年轻代中第一个survivor(幸存区)的容量 (字节)

S1C:年轻代中第二个survivor(幸存区)的容量 (字节)

S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)

S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)

EC:年轻代中Eden(伊甸园)的容量 (字节)

EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)

OC:Old代的容量 (字节)

OU:Old代目前已使用空间 (字节)

PC:Perm(持久代)的容量 (字节)

PU:Perm(持久代)目前已使用空间 (字节)

YGC:从应用程序启动到采样时年轻代中gc次数

YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)

FGC:从应用程序启动到采样时old代(全gc)gc次数

FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)

GCT:从应用程序启动到采样时gc用的总时间(s)

NGCMN:年轻代(young)中初始化(最小)的大小 (字节)

NGCMX:年轻代(young)的最大容量 (字节)

NGC:年轻代(young)中当前的容量 (字节)

OGCMN:old代中初始化(最小)的大小 (字节)

OGCMX:old代的最大容量 (字节)

OGC:old代当前新生成的容量 (字节)

PGCMN:perm代中初始化(最小)的大小 (字节)

PGCMX:perm代的最大容量 (字节)

PGC:perm代当前新生成的容量 (字节)

S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比

S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比

E:年轻代中Eden(伊甸园)已使用的占当前容量百分比

O:old代已使用的占当前容量百分比

P:perm代已使用的占当前容量百分比

S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节)

S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节)

ECMX:年轻代中Eden(伊甸园)的最大容量 (字节)

DSS:当前需要survivor(幸存区)的容量 (字节)(Eden区已满)

TT: 持有次数限制

MTT : 最大持有次数限制

补充

发现一个不错的jmap,jstat等java分析工具的博客,如下:

http://blog.csdn.net/fenglibing/article/details/6411999

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值