用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
14 个解决方案
#1
高深的问题哟、、、LZ用的是 Tomcat发布?端口是否为:8080 ?是否用的数据库SQL2008 ?
#2
sql 2005的,tomcat 发布,端口 8061,部署在虚拟机里
#3
可用物理内存: 274,588 Kb
感觉可用物理内存相对小了点
jconsole能监控到服务停止时刻的数据状态吗?
感觉可用物理内存相对小了点
jconsole能监控到服务停止时刻的数据状态吗?
#4
楼主是否使用Hibernate?如果是配一下连接池就好了,默认的会停的。
#5
怎么没见异常日志?
服务器异常终止。。找问题的方式还是根据日志分析停止的原因。。。
tomcat日志肯定有记录。。。猜是猜不出具体问题所在的。。。
大致原因可能出在。。
1. 内存不足,溢出了。。
2. 连接句柄数过多了。。
3. IO流打开太多了。。
4. 程序逻辑bug导致。。。
服务器异常终止。。找问题的方式还是根据日志分析停止的原因。。。
tomcat日志肯定有记录。。。猜是猜不出具体问题所在的。。。
大致原因可能出在。。
1. 内存不足,溢出了。。
2. 连接句柄数过多了。。
3. IO流打开太多了。。
4. 程序逻辑bug导致。。。
#6
这么高深的问题,我只能表示我来过。
#7
回复3楼,jconsole 检测到服务停止时刻的数据状态和正常的服务数据状态基本一致,但只是类加载比较多
#8
自动停止指的什么??
我做的项目,因在线人数多导致线程等待发生过页面打不开的情况。
我做的项目,因在线人数多导致线程等待发生过页面打不开的情况。
#9
我检查过系统日志,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
#10
发现服务无法访问登陆上去后,发现tomcat已经被关闭
#11
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
根据自己程序的特性再调节试试
这个是内存不足,或者是分配的内存还是小,或者是哪里内存泄露了
VM 参数: -Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Djava.awt.headless=true
根据自己程序的特性再调节试试
#12
明显的内存不足, 检查一下内存泄露,如果存在这个问题是比较严重的。
#13
内存溢出的问题很难查找原因。。用工具MemoryAnalyzer分析一下。。。先将内存溢出的工程通过命令打成一个.bin文件。。导入MemoryAnalyzer工具中,分析。。可具体分析出某个类或者js占用的内存大小。。很方便。。
#14
恩 先查找一下,是否内存泄露
#1
高深的问题哟、、、LZ用的是 Tomcat发布?端口是否为:8080 ?是否用的数据库SQL2008 ?
#2
sql 2005的,tomcat 发布,端口 8061,部署在虚拟机里
#3
可用物理内存: 274,588 Kb
感觉可用物理内存相对小了点
jconsole能监控到服务停止时刻的数据状态吗?
感觉可用物理内存相对小了点
jconsole能监控到服务停止时刻的数据状态吗?
#4
楼主是否使用Hibernate?如果是配一下连接池就好了,默认的会停的。
#5
怎么没见异常日志?
服务器异常终止。。找问题的方式还是根据日志分析停止的原因。。。
tomcat日志肯定有记录。。。猜是猜不出具体问题所在的。。。
大致原因可能出在。。
1. 内存不足,溢出了。。
2. 连接句柄数过多了。。
3. IO流打开太多了。。
4. 程序逻辑bug导致。。。
服务器异常终止。。找问题的方式还是根据日志分析停止的原因。。。
tomcat日志肯定有记录。。。猜是猜不出具体问题所在的。。。
大致原因可能出在。。
1. 内存不足,溢出了。。
2. 连接句柄数过多了。。
3. IO流打开太多了。。
4. 程序逻辑bug导致。。。
#6
这么高深的问题,我只能表示我来过。
#7
回复3楼,jconsole 检测到服务停止时刻的数据状态和正常的服务数据状态基本一致,但只是类加载比较多
#8
自动停止指的什么??
我做的项目,因在线人数多导致线程等待发生过页面打不开的情况。
我做的项目,因在线人数多导致线程等待发生过页面打不开的情况。
#9
我检查过系统日志,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
#10
发现服务无法访问登陆上去后,发现tomcat已经被关闭
#11
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
根据自己程序的特性再调节试试
这个是内存不足,或者是分配的内存还是小,或者是哪里内存泄露了
VM 参数: -Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Djava.awt.headless=true
根据自己程序的特性再调节试试
#12
明显的内存不足, 检查一下内存泄露,如果存在这个问题是比较严重的。
#13
内存溢出的问题很难查找原因。。用工具MemoryAnalyzer分析一下。。。先将内存溢出的工程通过命令打成一个.bin文件。。导入MemoryAnalyzer工具中,分析。。可具体分析出某个类或者js占用的内存大小。。很方便。。
#14
恩 先查找一下,是否内存泄露