一个简单的spring-boot mvc服务放在tomcat中执行,虽然服务器配置比较低,但是访问量不大,一般没什么太大问题。服务部署后,即使没有任何访问量,每隔10s发生一次young gc,并且CPU使用率长期大于10%。
明明没有访问量,到底发生什么?
使用top -H -p查询繁忙线程
首先,需要查询哪个线程占用CPU高,这里使用top命令,top -H -p [tomcat pid]
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22022 tomcat 20 0 2135m 302m 6228 S 20.0 30.3 0:00.00 java
22023 tomcat 20 0 2135m 302m 6228 S 0.0 30.3 0:07.40 java
2