linux下查看jvm使用内存状况

 首先通过 

Java代码    收藏代码
  1. jstat -gcutil pid 1000    



可以查看GC情况。不需要额外的工具。这样可以看看是不是有大量FullGC 

如果却是存在大量FullGC,那么可以直接查看内存 

Java代码    收藏代码
  1. jmap -histo pid |more  



来看看那些对象大量存在回收不掉。 

除此之外,也有可能是某些资源链接问题,比如缓存连接,数据库连接 耗尽, 
导致应用等待。可以通过 

Java代码    收藏代码
  1. jstack pid  



看看线程是不是都堵住了。 

/usr/java/jdk1.6.0_13/bin/jmap -heap 进程ID

/usr/java/jdk1.6.0_13/bin/jmap -histo 进程ID> 进程ID.jmap(导入此文本)

/usr/java/jdk1.6.0_13/bin/jmap -histo:live 进程ID > 进程ID.jmap(导入此文本)

另外可参考以下两个文章:

 http://jiajun.iteye.com/blog/443196

http://globalzhu.iteye.com/blog/853870

猜你喜欢

转载自jsczxy2.iteye.com/blog/781148