用yourkit,监控tomcat启动,然后发现只有一个Thread()方法占用大量的cpu。但是却无法展开,于是查看stack页。发现有一个占用98%的时间。名称叫做ContainerBackgroundProcessor[StandardEngine[Catalina]]]

    于是百度这个。发现一篇文章。将tomcat源码多,发现问题是tomcat开启了热启动,每个10秒。扫描下class有没有改变。于是造成大量的内存出现,从而激发的GC。操作cup占用率高。

    https://yq.aliyun.com/articles/20172

     

    修改server.xml文件中的 reloadable="true" 为 reloadable="false" 

    <Host 。。。。。 >

    <Context displayName="Welcome to Tomcat" docBase="D:/Tomcat/apache-tomcat-8.5.42/abc" path="" reloadable="false" ></Context>

    </Host>