服务器运行一段时间后,自动停止

haiqing421 2011-12-16 11:42:57
最近一个服务器运行一段时间后,老自动停止,不知是何原因。请高手帮忙分析一下:
用jconsole检测结果如下:
连接名称: pid: 2584 org.apache.catalina.startup.Bootstrap start
虚拟机: Java HotSpot(TM) Server VM 版本 1.6.0-b105
供应商: Sun Microsystems Inc.
名称: 2584@OA-V
正常运行时间: 2 days 2 hours 39 minutes
处理 CPU 时间: 1 hour 40 minutes
JIT 编译器: HotSpot Server Compiler
编译总时间: 1 minute

活动线程:   216
峰:   281
守护线程:   191
已启动的线程总数: 1,158
当前类已装入: 13,671
已装入类的总数: 15,197
已卸载类的总数:  1,526

当前堆大小:   291,182 Kb
堆大小的最大值: 1,009,792 Kb
分配的内存: 388,416 Kb
暂挂结束操作: 0 个对象
垃圾收集器: Name = 'PS MarkSweep', Collections = 257, Total time spent = 2 minutes
垃圾收集器: Name = 'PS Scavenge', Collections = 18,510, Total time spent = 3 minutes

操作系统: Windows Vista 6.0
体系结构: x86
处理器的数目: 2
分配的虚拟内存: 1,004,124 Kb
物理内存总量: 2,097,151 Kb
可用物理内存:   274,588 Kb
交换空间总量: 4,194,303 Kb
可用交换空间: 3,506,084 Kb

VM 参数: -Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Djava.awt.headless=true
...全文
1290 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dracularking 2011-12-19
  • 打赏
  • 举报
回复
java.lang.OutOfMemoryError: unable to create new native thread

这个是内存不足,或者是分配的内存还是小,或者是哪里内存泄露了

VM 参数: -Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Djava.awt.headless=true
根据自己程序的特性再调节试试
haiqing421 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wangjiangbo2 的回复:]
自动停止指的什么??
我做的项目,因在线人数多导致线程等待发生过页面打不开的情况。
[/Quote]
发现服务无法访问登陆上去后,发现tomcat已经被关闭
haiqing421 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 kouyisc 的回复:]
怎么没见异常日志?
服务器异常终止。。找问题的方式还是根据日志分析停止的原因。。。
tomcat日志肯定有记录。。。猜是猜不出具体问题所在的。。。

大致原因可能出在。。
1. 内存不足,溢出了。。
2. 连接句柄数过多了。。
3. IO流打开太多了。。
4. 程序逻辑bug导致。。。
[/Quote]
我检查过系统日志,tomcat 甚至没有异常日志输出就停了
今天早上看了,发现jconsole 同样报错。是不是系统内存不足了,服务是在虚拟机里跑的。

2011-12-14 2:23:26 ClientCommunicatorAdmin restart
警告: Failed to restart: java.rmi.ServerError: Error occurred in server thread; nested exception is:
java.lang.OutOfMemoryError: unable to create new native thread
2011-12-14 2:23:26 ClientCommunicatorAdmin Checker-run
警告: Failed to check connection: java.io.EOFException
2011-12-14 2:23:26 ClientCommunicatorAdmin Checker-run
警告: stopping
2011-12-19 8:17:06 ClientCommunicatorAdmin restart
警告: Failed to restart: java.rmi.ServerError: Error occurred in server thread; nested exception is:
java.lang.OutOfMemoryError: unable to create new native thread
2011-12-19 8:17:06 ClientCommunicatorAdmin Checker-run
警告: Failed to check connection: java.io.EOFException
2011-12-19 8:17:06 ClientCommunicatorAdmin Checker-run
警告: stopping
wangjiangbo2 2011-12-19
  • 打赏
  • 举报
回复
自动停止指的什么??
我做的项目,因在线人数多导致线程等待发生过页面打不开的情况。
haiqing421 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dracularking 的回复:]
可用物理内存: 274,588 Kb

感觉可用物理内存相对小了点

jconsole能监控到服务停止时刻的数据状态吗?
[/Quote]

回复3楼,jconsole 检测到服务停止时刻的数据状态和正常的服务数据状态基本一致,但只是类加载比较多
haiqing421 2011-12-19
  • 打赏
  • 举报
回复
恩 先查找一下,是否内存泄露
kouyiSC 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 haiqing421 的回复:]
引用 5 楼 kouyisc 的回复:
怎么没见异常日志?
服务器异常终止。。找问题的方式还是根据日志分析停止的原因。。。
tomcat日志肯定有记录。。。猜是猜不出具体问题所在的。。。

大致原因可能出在。。
1. 内存不足,溢出了。。
2. 连接句柄数过多了。。
3. IO流打开太多了。。
4. 程序逻辑bug导致。。。

我检查过系统日志,tomcat 甚至没有异常日志……
[/Quote]
内存溢出的问题很难查找原因。。用工具MemoryAnalyzer分析一下。。。先将内存溢出的工程通过命令打成一个.bin文件。。导入MemoryAnalyzer工具中,分析。。可具体分析出某个类或者js占用的内存大小。。很方便。。
南老頭 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 dracularking 的回复:]

java.lang.OutOfMemoryError: unable to create new native thread

这个是内存不足,或者是分配的内存还是小,或者是哪里内存泄露了

VM 参数: -Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Djava.awt.he……
[/Quote]

明显的内存不足, 检查一下内存泄露,如果存在这个问题是比较严重的。
haiqing421 2011-12-16
  • 打赏
  • 举报
回复
sql 2005的,tomcat 发布,端口 8061,部署在虚拟机里
  • 打赏
  • 举报
回复
高深的问题哟、、、LZ用的是 Tomcat发布?端口是否为:8080 ?是否用的数据库SQL2008 ?
qingtingnayongheng 2011-12-16
  • 打赏
  • 举报
回复
这么高深的问题,我只能表示我来过。
kouyiSC 2011-12-16
  • 打赏
  • 举报
回复
怎么没见异常日志?
服务器异常终止。。找问题的方式还是根据日志分析停止的原因。。。
tomcat日志肯定有记录。。。猜是猜不出具体问题所在的。。。

大致原因可能出在。。
1. 内存不足,溢出了。。
2. 连接句柄数过多了。。
3. IO流打开太多了。。
4. 程序逻辑bug导致。。。
selinplus 2011-12-16
  • 打赏
  • 举报
回复
楼主是否使用Hibernate?如果是配一下连接池就好了,默认的会停的。
dracularking 2011-12-16
  • 打赏
  • 举报
回复
可用物理内存: 274,588 Kb

感觉可用物理内存相对小了点

jconsole能监控到服务停止时刻的数据状态吗?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧