排错思路:
1>查看机器性能,看是否是系统负载的问题
2>查看项目日志,发现开发代码里有大量的日志输出
- 通过top -c命令查看进程信息,找出问题进程内负载过高的线程id
- 在通过jstack命令查到对应的线程,定位到代码
- 翻阅日志的中间件,发现可疑(在写入log之前为了判断log的文件名是否已经存在进行了整个文件夹下文件的遍历)
- 查文件输出目录(整个文件夹下文件大小达到近100G,国内版本最多也就是几个G)
- 分析原因,得知这个地方国内和港台版本有差异,运维有个策略,就是会定期删掉固定时长之前的日志,而恰恰港台版本没有开启这个定时任务