账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    window环境下,tomcat8.5,cpu占用100%
    28
    0

    tomcat开启后过一段时间CPU占用高达60-70%。
    百度了一下,很多人都说在JavaStack查看,下面是jstack里面占用高的几个线程信息

    "ajp-nio-8009-ClientPoller-1" #55 daemon prio=5 os_prio=0 tid=0x000000001e51d000 nid=0x93e4 runnable [0x0000000028ade000]
       java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
        - locked <0x00000000934c46b0> (a sun.nio.ch.Util$2)
        - locked <0x00000000934c46a0> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00000000934c4530> (a sun.nio.ch.WindowsSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
        at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:710)
        at java.lang.Thread.run(Thread.java:745)
    
       Locked ownable synchronizers:
        - None
    "NioBlockingSelector.BlockPoller-2" #16 daemon prio=5 os_prio=0 tid=0x000000001bdbe000 nid=0xa124 runnable [0x000000001d8df000]
       java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
        at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
        at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
        - locked <0x000000009192fb18> (a sun.nio.ch.Util$2)
        - locked <0x000000009192fb08> (a java.util.Collections$UnmodifiableSet)
        - locked <0x000000009192f9a8> (a sun.nio.ch.WindowsSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
        at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:298)
    
       Locked ownable synchronizers:
        - None
    别人找到的都是自己代码里的类,通过分析异常信息,找出死锁代码,但是我这个 at 的都是jar包里的类,怎么分析啊,各位?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 雷袭月启 普通会员 1楼

      在Windows环境下,Tomcat8.5可能会出现CPU占用100%的情况。这可能是由于Tomcat的进程数量过多,或者存在内存泄漏等问题。

      以下是一些可能的解决办法:

      1. 检查Tomcat的配置文件:在Tomcat的bin目录下,找到conf/server.xml文件,查看其配置参数,如Tomcat的堆大小、线程池大小等是否设置得合适。如果这些参数设置不当,可能会导致CPU占用过高。

      2. 优化Tomcat的资源使用:可以通过增加Tomcat的CPU核心数,或者调整Tomcat的内存使用量来优化其资源使用。但要注意,过度的资源优化可能会导致其他软件的运行效率下降,所以需要在保证性能的前提下进行。

      3. 检查和清理垃圾文件:Tomcat会定期清理一些临时文件和日志文件,这些文件可能会占用大量的磁盘空间。你可以使用命令行工具(如SFC、CCleaner等)来清理这些文件。

      4. 批量关闭不必要的Tomcat进程:如果你发现一个或多个Tomcat进程占用了大量的CPU资源,可以尝试批量关闭这些进程,以释放资源。

      5. 使用监控工具:可以使用一些监控工具(如CPU使用率监控工具、内存使用率监控工具等)来监控Tomcat的资源使用情况,以便及时发现和解决问题。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部