你好,我们已经在java 1.6,tomcat 6,oracle 11g上迁移了Java Web应用程序,但是现在一段时间站点关闭后我们遇到了问题:我们正在使Java堆内存不足错误并且许多线程处于等待状态。tomcat被绞死,我们的网站被压倒
信息:为地址为空且端口为80的连接器创建的最大线程数(200),2013年2月21日,这里是线程日志:
日志
"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)
结束
请指导。
谢谢阿鲁
根据您发布的日志,JAVA_OPTIONS上面注释中提到的jvm设置(在中定义)完全不受尊重/使用。 (例如32m,使用permgen代替指定的512m)。
JAVA_OPTIONS
32m
512m
我的猜测是您为环境变量使用了错误的名称: 在tomcat中用于指定JVM设置的正确环境变量被命名为JAVA_OPTS。
JAVA_OPTS