分享

kill -3将不生成heapdump和javacore文件

 筑心wup 2013-03-29

kill -3将不生成heapdump和javacore文件

在java SDK 1.4.2 SR5及之后版本中使用 kill -3将不生成heapdump和javacore文件
环境

产品:WebSphere Application Server
平台:AIX, Linux, Windows
软件版本:v5.1.1.x, v6.0.x

问题

从java SDK 1.4.2 SR5开始,之后的版本使用 kill -3不会生成heapdump和javacore文件。


解答
从 java SDK 1.4.2 SR5开始,关于生成heapdump和javacore,引入了一个新的特性去避免系统自动生成heapdump和javacore 造成操作系统文件系统空间被耗尽,这样在java SDK 1.4.2 SR5及之后的版本中,当使用 kill -3时也将不会产生heapdump和javacore文件。
这个新的特性可以允许设置相应的选项来控制java进程在收到相应的信号时最多生成多少个heapdump和javacore文件。要使用这个新的特性,需要首先在操作系统的环境中设置下面的变量:
export JAVA_DUMP_OPTS="ONANYSIGNAL(JAVADUMP[n],HEAPDUMP[m])"
其中,n 最大的javacore生成的数目, m 是最大的heapdump生成的数目。
在设置了这个变量后,java进程在收到kill -3 (或其他的信号)时将会生成heapdump和javacore文件,文件的最大数目分别等于选项中的m和n的值,可以根据实际的需求设置合理的m和n的值。
例如:
在启动websphere之前,设置下面的环境变量:
export JAVA_DUMP_OPTS="ONANYSIGNAL(JAVADUMP[5],HEAPDUMP[5])"
这样在收到相应的信号的时候,将最大生成5个heapdump和javacore,之后将不会再生成heapdump和javacore文件。
注意:
如果设置了IBM_heapdump=true变量,将会生成一个额外的heapdump文件,这样heapdump的文件将会是n+1个,在Java SDK 1.4.2 SR7中将避免这个情况。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多