1、 启动 tomcat 服务,单核 cpu 占用 use% 在 85% 以上,系统访问超慢,蜗牛爬;
2、 通过 visualvm 工具 监控:
3、 初步分析是 registery()模块中 在 dosave (保存) 操作。
4、 进入 tomcat/bin/catalina.sh 查看配置:
解决方案:
发现 有一个 logs 文件 保存在 / 下,发现 logs 目录 所属组和用户属于 root.root , 而 catalina.sh 所属组和用户权限属于 appadmin.appadmin ,
由于所有缓存日志会写入 logs 目录下的 registry.cache 文件,而没有权限写入,于是会不停的去尝试写,导致cpu 过高。
修改 logs 权限, chown logs appadmin.appadmin , chmod 755 logs ,问题解决,启动tomcat,cpu 降到 30% 以下,系统正常访问!