1、 启动 tomcat 服务,单核 cpu 占用 use% 在 85% 以上,系统访问超慢,蜗牛爬;

性能调优 之 cpu负载过高_cpu负载过高

2、 通过 visualvm 工具 监控:

性能调优 之 cpu负载过高_性能压测_02

3、 初步分析是  registery()模块中 在 dosave (保存) 操作。

4、 进入  tomcat/bin/catalina.sh   查看配置:

性能调优 之 cpu负载过高_性能压测_03

解决方案:

发现  有一个 logs 文件  保存在  /  下,发现 logs 目录  所属组和用户属于  root.root , 而 catalina.sh   所属组和用户权限属于  appadmin.appadmin ,  

由于所有缓存日志会写入 logs 目录下的  registry.cache  文件,而没有权限写入,于是会不停的去尝试写,导致cpu 过高。

修改 logs 权限, chown  logs   appadmin.appadmin  , chmod  755  logs    ,问题解决,启动tomcat,cpu 降到 30% 以下,系统正常访问!