我在具有 16GB 内存的 EC2 上运行批处理引擎 (BE) 和 Jboss 实例。两者都由 WrapperSimpleApp 管理。
BE 不断处理大量信息。只是想一下,数据库每天大约增长 10 到 15 GB。从日志来看,BE 每天下降 1 到 7 次。我将最大 Java 堆大小从 8GB 减少到 4GB。它没有效果。作为最后的手段,我退回了 EC2 服务器,错误就消失了。我想知道是否有任何方法可以找出 JVM 没有响应的原因。BE 以相同的工作量执行相同的流程。EC2 服务器是否存在已知问题?我没有任何证据表明 BE 有过错。
以下是一些包装器设置:
# 初始 Java 堆大小 (MB)
# wrapper.java.initmemory=256
# 最大 Java 堆大小 (MB)
wrapper.java.maxmemory=4096
wrapper.ping.timeout=600
日志文件中的错误:
信息 | 虚拟机 6 | 2012/07/03 05:46:12 | BE在这里做一些事情。
错误 | 包装 | 2012/07/03 05:57:14 | JVM 出现挂起:等待来自 JVM 的信号超时。
错误 | 包装 | 2012/07/03 05:57:14 | JVM 未按请求退出,已终止
INFO | 包装 | 2012/07/03 05:57:14 | JVM 在等待终止应用程序时自行退出。
状态 | 包装 | 2012/07/03 05:57:14 | JVM 响应信号 SIGKILL (9) 退出。
状态 | 包装 | 2012/07/03 05:57:19 | 启动 JVM...
信息 | 虚拟机 7 | 2012/07/03 05:57:19 | 包装器(版本 3.2.3)http://wrapper.tanukisoftware.org
信息 | 虚拟机 7 | 2012/07/03 05:57:19 | 版权所有 1999-2006 Tanuki Software, Inc. 保留所有权利。
信息 | 虚拟机 7 | 2012/07/03 05:57:19 |
信息 | 虚拟机 7 | 2012/07/03 05:57:19 | BE继续做事
提前感谢大家。