我正在监视运行 Apache Tomcat 6、在 Windows 上运行的 JVM,我注意到 JVM 进程 (C:\Tomcat\bin\tomcat6.exe) 每隔 3 秒左右轮询一次以查看是否
C:\Tomcatcat\java_pid3748.hprof
存在,其中 3748 是 Windows 进程 ID。
我还没有看到写入hprof 文件,只是测试是否存在。
(我正在使用 Sysinternals Process Monitor (procmon.exe) 进行此监控。在 procmon 中,轮询显示为 QueryDirectory 操作,它始终返回结果“NO SUCH FILE”。)
这是正常的,还是潜在的危险信号?我收集这些 hprof 文件是在您启用
-XX:+HeapDumpOnOutOfMemoryError
Java 标志。我自己没有启用它,虽然我猜它可以在 Tomcat 启动脚本中以某种方式启用。
hprof
文件不仅用于堆转储。您的 JVM 进程命令行是哪个?(您可以使用 Process Explorer 进行检查)。