Ars*_*hak 8 java out-of-memory jvm-crash tomcat7
我在VPS上有tomcat web应用程序,tomcat有时(大约每月一次)在catalina.out中崩溃并出现以下错误:
Java HotSpot(TM)64位服务器VM警告:异常java.lang.OutOfMemoryError发生将调度信号SIGTERM发送到处理程序 - 可能需要强制终止VM.
以下是我的配置的一些细节:
VPS:debian-5.0-x86_64
RAM:2.5 gb,
虚拟处理器:8
硬盘:60GB硬盘 - 70%免费
Tomcat 7.0
java -version:
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze1)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
Run Code Online (Sandbox Code Playgroud)Java参数:-Xms512m -Xmx1024m
我在该服务器上也有Apache-PHP.
我正在使用Munin监视服务器负载,它向我显示内存和CPU使用率始终稳定,并且在崩溃之前没有任何增加.
我也通过java.lang.Runtime类记录java内存使用情况,它显示jvm总是使用max200Mb内存并且在崩溃之前没有增加.崩溃前的最后一个日志是40秒前,那个时间使用的内存是:152Mb.
我的Web应用程序还运行6-7个线程,用于从不同的公共API收集数据.这些线程在tomcat启动时启动,并且它们始终以定期休眠运行.
你能告诉我它崩溃的原因吗?我怎么才能找到原因?
从 shell运行top并查看 Linux 声称 Java 进程占用了多少内存。
检查机器中的总体内存使用情况。可能是其他进程正在消耗所有内存,迫使 Linux 终止 JVM:Mysql 或 Postgress 等数据库可能是可疑的。
检查/var/log/messages崩溃前后的时间段是否有异常事件。
| 归档时间: |
|
| 查看次数: |
10453 次 |
| 最近记录: |