使用pmap查看进程内存
执行命令
使用pmap能够查看某一个进程(非java的也能够)的内存使用使用情况,命令格式:pmap 进程id
演示样例说明
比如执行:pmap 12358显示结果例如以下图(内容较多, 分成几张图说明):内容開始部分
内容结束部分
上图中,第一列。内存块起始地址第二列。占用内存大小第三列,内存权限第四列。内存名称。anon表示动态分配的内存,stack表示栈内存最后一行。占用内存总大小,请注意,此处为虚拟内存大小,占用的物理内存大小能够通过top查看
使用jmap查看Java进程对象使用情况
执行命令
使用jmap能够查看某个Java进程中每一个对象有多少个实例,占用多少内存。命令格式:jmap -histo 进程id
演示样例说明
比如执行:jmap -histo 12538显示结果例如以下图(内容较多, 分成几张图说明):内容開始部分
内容结束部分
上图中:第一列,序号。无实际意义第二列,对象实例数量第三列,对象实例占用总内存数。单位:字节第四列,对象实例名称最后一行,总实例数量与总内存占用数
另,部分演示样例说明(还没弄明确,兴许补充):[C。[B。[I,[J,[L,
使用jstat查看Java内存分布及回收情况
直接看这个帖子:http://blog.csdn.net/zlzlei/article/details/46471627
补充
发现一个不错的jmap,jstat等java分析工具的博客。例如以下:http://blog.csdn.net/fenglibing/article/details/6411999