我们一直在努力诊断我们在其中一台生产服务器上遇到的 OutOfMemoryError 的原因。到目前为止,我们在浸泡测试中重现该问题的尝试失败了,我们正在考虑-XX:+HeapDumpOnOutOfMemoryError在我们的生产服务器上启用,以便如果它再次发生,至少我们会有一些数据。
在生产服务器上启用此设置是否明智?
Fed*_*rra 12
看看文档:
B.1.2 -XX:+HeapDumpOnOutOfMemoryError 选项
该
-XX:+HeapDumpOnOutOfMemoryError命令行选项告诉HotSpot虚拟机生成一个堆转储时从Java堆或永久代的分配不能满足。另外还有一个与此选项运行没有任何开销,因此它可以为生产系统非常有用,其中OutOfMemoryError需要较长的时间来面。您还可以在运行时使用 jconsole 实用程序中的 MBeans 选项卡指定此选项。
堆转储是
HPROF二进制格式,因此可以使用任何可以导入此格式的工具对其进行分析。例如,jhat 工具可用于对转储进行基本分析。
-XX:+HeapDumpOnOutOfMemoryError标志不会在运行时引入性能或安全问题。仅在OutOfMemoryError发生后才检查标志。
您可以使用相应的-XX:HeapDumpPath标志指定保存文件的实际路径。(无论文件保存在哪里,请确保文件系统和/或 Java 进程具有必要的权限配置,以便能够在那里写入。)
| 归档时间: |
|
| 查看次数: |
8114 次 |
| 最近记录: |