当程序中内存使用过多,或者存在内存泄露时,经常会报OutOfMemory错误。很多时候,尤其是在生产环境中,不得不马上重启服务,导致现场丢失,无法查找问题所在。

其实jdk中自带了很多分析监控工具,jmap就是其中之一。

当程序出现问题,先不要停止服务,先用ps看一下java的pid, 然后运行命令将内存导出来:

?View Code BASH/usr/local/jdk1.6.0_20/bin/jmap -dump:format=b,file=/dir/heap.bin

阅读全文——共407字