当前位置: 首页 > 面试题库 >

Tomcat 6线程问题

田硕
2023-03-14
问题内容

你好,我们已经在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)。

我的猜测是您为环境变量使用了错误的名称:
在tomcat中用于指定JVM设置的正确环境变量被命名为JAVA_OPTS



 类似资料:
  • 问题内容: 在Linux中,是否可以在tomcat6上部署使用Java 7编写的Web应用程序?如果是这样,需要修改什么配置才能使其正常工作? 我已经尝试过更改文件中的变量并重新启动,但是根据tomcat管理器网页,它仍在使用1.6,并且只有以1.6或更低版本编写的应用程序才能正确部署。 我在不同位置安装了jdk 1.6和1.7。 问题答案: 使用Java JDK 1.7.0编译servlet时遇

  • 我将一个应用程序从工作良好的tomcat7移植到tomcat6,因为CloudBees还不支持tomcat7,这是我正在考虑的一个PAAS。 我正在移植到Tomcat6.035。我认为el-api.jar在我的java-ee依赖项和tomcat上都是我的问题,但我不知道如何解决它。下面是错误和pom.xml的一个片段:

  • 它是工作的,因为我的listener类很好地接收消息,但日志看起来很奇怪。开始后,看起来只有一个线程在处理消息,即使队列中有几个线程在等待: 正如您所看到的,最终只有容器#5用于处理所有剩余的消息。消息不是并行处理的,定义的并发性似乎没有被使用。我不知道这是不是完全相同的问题,但我看过这篇文章,但我没有使用ActiveMQ,我没有这个预取选项。 你能解释一下我为什么会有这种行为吗。是弹簧配置错误还

  • 我正在将tomcat6升级到tomcat7。目前,该应用程序在tomcat6上部署并运行良好。 这是配置: web.xml 在里面jsp: 我有jstl-1.2.jar,jstl-api-1.2.jar,jstl-1.2jar在我的Tomcat/lib目录(与Tomcat6相同)。 我最终得到了与此相关的各种异常,例如: 在我的pom里。我要开车了 Tomcat7是否应该不支持2.5?我尝试过使用

  • 1):单线程应用程序只会在用户的CPU上使用1个线程吗?提供更多的线程会使用多个CPU内核吗?如果声明的线程比用户的CPU多,会发生什么?

  • 我是机器人的新手,我有一些未解决的问题: > 我的项目有两个活动: 欢迎(显示layout1)。 MainDisplay(显示layout2)。