日志打印过多过于频繁导致 IO 问题
分析过程如下
- top:首先是不知道具体情况的,所以 top 先看一下 cpu 和内存
- 发现 CPU 使用过高,但内存使用量并不高
- iowait 高
- iostat -x -d 1:查看当前磁盘的读写,发现使用率饱和
- pidstat -d 1 :查看当前各个进程读写情况,发现最大的进程
- strace -p 23163:根据这个进程查看系统调用发现 write 方法正在写文件
- lsof -p 23163:可以看到当前进程打开了哪些文件
通过上述思路定位到了日志打印过多的应用,这样的方式还适用于其他 IO 密集型的应用上,可以根据这些命令定位最频繁和最大的读写文件瓶颈在什么地方,具体是哪个应用,哪个文件是瓶颈