iowaite升高分析流程:
1、使用top 查看系统性能指标,发现iowait%数值异常,查看状态为D的进程。
2、使用dstat观察 CPU 和 I/O 的使用情况,每当 iowait 升高(wai)时,磁盘的读请求(read)都会很大。
3、通过pidstat -d -p pid 观察当前进程的KB_rb、kb_wr指标情况,如果对应进程这两个指标为0,可以换成当前命令:pidstat -d 1 10 观测当前系统所有进程,找到进行磁盘读写的进程ID,执行第三步操作。
4、通过strace -p PID 命令查看对应进程的父进程,如果对应进程不存在,可以使用perf record -g命令录制当前系统监测数据
5、执行**perf report **进行数据分析,找到出去内核进程外的其他进程,查看其系统调用问题。
僵尸进程分析流程:
1、使用top 查看系统性能指标,查看状态为Z的进程,获取进程的PID
2、执行命令pstree -aps PID获取该进程的父进程,找到对应应用程序。
3、查看 app 应用程序的代码,看看子进程结束的处理是否正确,比如有没有调用 wait() 或 waitpid() ,或是有没有注册 SIGCHLD 信号的处理函数。
来源:oschina
链接:https://my.oschina.net/u/4367114/blog/4484592