红烧清蒸 2019-02-23 11:15 采纳率: 100%
浏览 1150
已采纳

windows下javaweb运行2个多小时后导致CPU突然飙升至70%?

使用springboot做了一个web小程序,只是实现了简单的查库功能。通过批处理命令

@echo off
echo "start-up......"
set Path=%path%;C:\Program Files\Java\jdk1.8.0_191\bin
set BASE_HOME=%cd%
java -Xms128m -Xmx128m -jar %BASE_HOME%\querytool.jar --spring.config.location=%BASE_HOME%\config\application.yml > %BASE_HOME%\log\batchLog%date:~0,4%%date:~5,2%%date:~8,2%.log
@pause

启动后没做任何操作,2个小时后cpu飙升到70%左右,如下图:
图片说明

jstat -gcutil查看垃圾回收统计情况如下:

图片说明

消耗大的线程如下(包含使用jmap -heap的信息):

"VM Periodic Task Thread" os_prio=2 tid=0x000000005412b000 nid=0x1504 waiting on condition

"NioBlockingSelector.BlockPoller-1" #18 daemon prio=5 os_prio=0 tid=0x0000000055403000 nid=0x18f0 runnable [0x000000005dbcf000]
   java.lang.Thread.State: RUNNABLE
    at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket0(Native Method)
    at sun.nio.ch.WindowsSelectorImpl.resetWakeupSocket(Unknown Source)
    - locked <0x00000000f9a57f00> (a java.lang.Object)
    at sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)
    - locked <0x00000000f98b2aa8> (a sun.nio.ch.Util$3)
    - locked <0x00000000f98b2a98> (a java.util.Collections$UnmodifiableSet)
    - locked <0x00000000f98b2948> (a sun.nio.ch.WindowsSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(Unknown Source)
    at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:298)

   Locked ownable synchronizers:
    - None


"http-nio-8081-ClientPoller-0" #29 daemon prio=5 os_prio=0 tid=0x0000000057c5b800 nid=0x894 runnable [0x000000005ea2f000]
   java.lang.Thread.State: RUNNABLE
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(Unknown Source)
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(Unknown Source)
    at sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)
    - locked <0x00000000f9931328> (a sun.nio.ch.Util$3)
    - locked <0x00000000f9931318> (a java.util.Collections$UnmodifiableSet)
    - locked <0x00000000f9931158> (a sun.nio.ch.WindowsSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(Unknown Source)
    at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:825)
    at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

"http-nio-8081-ClientPoller-1" #30 daemon prio=5 os_prio=0 tid=0x0000000057c5c800 nid=0x10a8 runnable [0x000000005ebaf000]
   java.lang.Thread.State: RUNNABLE
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(Unknown Source)
    at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(Unknown Source)
    at sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)
    - locked <0x00000000f989d8d8> (a sun.nio.ch.Util$3)
    - locked <0x00000000f989d8c8> (a java.util.Collections$UnmodifiableSet)
    - locked <0x00000000f989d6a8> (a sun.nio.ch.WindowsSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(Unknown Source)
    at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:825)
    at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
    - None


    // 此处是使用jamp -heap 的报错信息
    Attaching to process ID 7156, please wait...
Error attaching to process: sun.jvm.hotspot.runtime.VMVersionMismatchException:
Supported versions are 25.191-b12. Target VM is 25.201-b09
sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.runtime.VMVersionMis
matchException: Supported versions are 25.191-b12. Target VM is 25.201-b09
        at sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:435)
        at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:305)
        at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140)
        at sun.jvm.hotspot.tools.Tool.start(Tool.java:185)
        at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
        at sun.jvm.hotspot.tools.HeapSummary.main(HeapSummary.java:49)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.tools.jmap.JMap.runTool(JMap.java:201)
        at sun.tools.jmap.JMap.main(JMap.java:130)
Caused by: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported version
s are 25.191-b12. Target VM is 25.201-b09
        at sun.jvm.hotspot.runtime.VM.checkVMVersion(VM.java:227)
        at sun.jvm.hotspot.runtime.VM.<init>(VM.java:294)
        at sun.jvm.hotspot.runtime.VM.initialize(VM.java:370)
        at sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:431)
        ... 11 more

整个程序启动后就没有使用,cup消耗大的线程也是属于tomcat的nio,实在是找不到导致CPU飙升的原因,希望各位大大能提点下。

  • 写回答

1条回答

  • 红烧清蒸 2019-02-23 15:55
    关注

    我给电脑全盘杀了个毒,重启电脑,然后ok,cpu没有飙升。造成的原因不知道是中毒,还是系统原因
    参考连接

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler