有关Java OutOfMemoryError


在开发的过程中,我们有时候会遇到java outofmemoy的错误发生,很多时候会让我们自己搞得也头雾水,完全不知如何下手,其实jdk本身就已经备有相应的工具给我们开发者使用来,也可以使用其他的第三方工具或插件来帮助我们解决问题。

jdk带有的jconsole,可以用来观察jvm中各种性能指标参数。

jdk5/jdk6中的jmap,是一个很好的用来heap dump机器的内存快照。

加上参数:-XX:-HeapDumpOnOutOfMemoryError ,当程序运行时,如有失败的情况,自动生成heap dump.

或者 还可以 使用 配置 JVM 参数: -XX:+HeapDumpOnCtrlBreak,在linux下面可以直接使用快捷键ctr+break来生成heap dump。

一般dump后生成的文件格式是hprof格式。

最后用MAT工具打开,MAT还是比较好用的,属于eclipse的一种插件,通过使用这些工具分析问题产生的原因。

以上纯属个人的一些体会,有好的方法和工具,欢迎回帖交流。

相关内容