> my platform
> Server version: Apache Tomcat/5.5.23
> Server built: Mar 5 2007 08:25:04
> Server number: 5.5.23.0
> OS Name: AIX
> OS Version: 5.3
> Architecture: ppc
> JVM Version: pap32dev-20070511(SR5)
> JVM Vendor: IBM Corporation
JAVA_OPTS : "-Xms800M -Xmx1200M -Xss128k"
在运行一天左右,就会出现java/lang/OutOfMemoryError":"Failed to fork OS thread的异常,jvm打出一个core文件。这时,大部分线程将进入wait状态,导致很多业务不能运行,请教各位大侠是否遇到过同样的情况。
注:内存大小为8G.
谢谢!
5 个解决方案
#1
把-Xmx1200M 再设大些看,再outofmemory的话,此程序可能有内存泄漏
#2
以前-Xmx 是设置为1500的,由于出现这个异常,导致没有内存建本地线程,所以才调小到1200的。 但是仍然会出现。望各位帮忙!
#3
检查下是否存在死锁。
#4
程序的rs,stm,conn 没有依次关闭,把-Xmx1200M 再设大些一般不会起做用。
在运行一天左右,就会出现java/lang/OutOfMemoryError
表明你有部分程序的rs,stm,conn没有关闭,并不是所有的程序用完连接都没有关闭,当程序运行到那个没有关闭的连接时,内存就会出现泄漏,但服务器不会吗上死掉,因为服务器有一定的负载能力,当内存泄漏到一定的程度tomcat就会死掉,
jdk1.5以上的版本可以用jconsole.exe 查看一下线程使用情况,内存出现泄漏时会提示相关java类,然后检查一下那个java类中的代码是否有问题。
在运行一天左右,就会出现java/lang/OutOfMemoryError
表明你有部分程序的rs,stm,conn没有关闭,并不是所有的程序用完连接都没有关闭,当程序运行到那个没有关闭的连接时,内存就会出现泄漏,但服务器不会吗上死掉,因为服务器有一定的负载能力,当内存泄漏到一定的程度tomcat就会死掉,
jdk1.5以上的版本可以用jconsole.exe 查看一下线程使用情况,内存出现泄漏时会提示相关java类,然后检查一下那个java类中的代码是否有问题。
#5
第一:
xms 的值最好是 xmx 的 4 分之一
第二
xmx 的值最大不要超过可用物理内存的 5 分之 4
第三:
你最好再加一个参数 -XX:MaxPermSize= 【2分之一 xms】
然后呢,使用这个 jvm 参数,来做垃圾回收的检查,看下测试结果
xms 的值最好是 xmx 的 4 分之一
第二
xmx 的值最大不要超过可用物理内存的 5 分之 4
第三:
你最好再加一个参数 -XX:MaxPermSize= 【2分之一 xms】
然后呢,使用这个 jvm 参数,来做垃圾回收的检查,看下测试结果
#1
把-Xmx1200M 再设大些看,再outofmemory的话,此程序可能有内存泄漏
#2
以前-Xmx 是设置为1500的,由于出现这个异常,导致没有内存建本地线程,所以才调小到1200的。 但是仍然会出现。望各位帮忙!
#3
检查下是否存在死锁。
#4
程序的rs,stm,conn 没有依次关闭,把-Xmx1200M 再设大些一般不会起做用。
在运行一天左右,就会出现java/lang/OutOfMemoryError
表明你有部分程序的rs,stm,conn没有关闭,并不是所有的程序用完连接都没有关闭,当程序运行到那个没有关闭的连接时,内存就会出现泄漏,但服务器不会吗上死掉,因为服务器有一定的负载能力,当内存泄漏到一定的程度tomcat就会死掉,
jdk1.5以上的版本可以用jconsole.exe 查看一下线程使用情况,内存出现泄漏时会提示相关java类,然后检查一下那个java类中的代码是否有问题。
在运行一天左右,就会出现java/lang/OutOfMemoryError
表明你有部分程序的rs,stm,conn没有关闭,并不是所有的程序用完连接都没有关闭,当程序运行到那个没有关闭的连接时,内存就会出现泄漏,但服务器不会吗上死掉,因为服务器有一定的负载能力,当内存泄漏到一定的程度tomcat就会死掉,
jdk1.5以上的版本可以用jconsole.exe 查看一下线程使用情况,内存出现泄漏时会提示相关java类,然后检查一下那个java类中的代码是否有问题。
#5
第一:
xms 的值最好是 xmx 的 4 分之一
第二
xmx 的值最大不要超过可用物理内存的 5 分之 4
第三:
你最好再加一个参数 -XX:MaxPermSize= 【2分之一 xms】
然后呢,使用这个 jvm 参数,来做垃圾回收的检查,看下测试结果
xms 的值最好是 xmx 的 4 分之一
第二
xmx 的值最大不要超过可用物理内存的 5 分之 4
第三:
你最好再加一个参数 -XX:MaxPermSize= 【2分之一 xms】
然后呢,使用这个 jvm 参数,来做垃圾回收的检查,看下测试结果