您好frnds我,我们已经迁移了Java Web应用程序上的Java 1.6,Tomcat的6,的Oracle 11g 但经过一段时间的网站,现在我们所面临的问题正在下降: 我们得到了Java堆内存不足的错误许多线程处于等待状态。 Tomcat是越来越吊起来,我们的网站正着手的Tomcat 6线程问题
信息:为连接器创建了地址空和端口80 2月21日线(200)的最大数量,2013下午9时56分04秒 这里是线程日志:
日志"main" prio=10 tid=0x09f67c00 nid=0x2d51 runnable [0xf7622000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
- locked <0xc5078c60> (a java.net.SocksSocketImpl)
"VM Thread" prio=10 tid=0x09f8ac00 nid=0x2d52 runnable
"VM Periodic Task Thread" prio=10 tid=0x09f9cc00 nid=0x2d58 waiting on condition
JNI global references: 1074
Heap
def new generation total 78656K, used 78533K [0xbf760000, 0xc4cb0000, 0xc4cb0000)
eden space 69952K, 100% used [0xbf760000, 0xc3bb0000, 0xc3bb0000)
from space 8704K, 98% used [0xc4430000, 0xc4c91428, 0xc4cb0000)
to space 8704K, 0% used [0xc3bb0000, 0xc3bb0000, 0xc4430000)
tenured generation total 174784K, used 174783K [0xc4cb0000, 0xcf760000, 0xcf760000)
the space 174784K, 99% used [0xc4cb0000, 0xcf75fff8, 0xcf760000, 0xcf760000)
compacting perm gen total 33792K, used 33647K [0xcf760000, 0xd1860000, 0xd3760000)
the space 33792K, 99% used [0xcf760000, 0xd183be68, 0xd183c000, 0xd1860000)
ro space 10240K, 61% used [0xd3760000, 0xd3d86298, 0xd3d86400, 0xd4160000)
rw space 12288K, 60% used [0xd4160000, 0xd4896cb8, 0xd4896e00, 0xd4d60000)
结束
请指导。
感谢, 阿鲁
WAITING状态和OutOfMemoryErrors中的线程完全不同。第一个问题根本不是问题(但可以),也不能与后者相关。我会首先面对OOM错误。堆和permgen大小是否设置为与迁移之前相同? – MRalwasser 2013-02-28 17:30:39
@MRalwasser:我们正在使用这些选项JAVA_OPTIONS =“ - Xms512m -Xmx2048m -XX:MaxPermSize = 512m -verbose:gc”; export JAVA_OPTIONS – aru 2013-02-28 17:32:35
试试用JAVA_OPTS代替JAVA_OPTIONS。 – 2013-02-28 18:05:53