Linux服务器高I/O等待延迟问题查找的示例分析

74次阅读
没有评论

共计 1515 个字符,预计需要花费 4 分钟才能阅读完成。

这篇文章主要介绍 Linux 服务器高 I / O 等待延迟问题查找的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

0. 首先是 top 查看一下系统状况

发现两个参数异常,一是平均负载高,一是 cpu %wa 一直在 50% 以上。

查了一下 %wa 参数的意义:

wa -- iowait Amount of time the CPU has been waiting for I/O to complete.

1. 查看磁盘读写数据

用 iostat 查看磁盘状况

$ iostat -x 2 5 avg-cpu: %user %nice %system %iowait %steal %idle 3.66 0.00 47.64 48.69 0.00 0.00 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 44.50 39.27 117.28 29.32 11220.94 13126.70 332.17 65.77 462.79 9.80 2274.71 7.60 111.41 dm-0 0.00 0.00 83.25 9.95 10515.18 4295.29 317.84 57.01 648.54 16.73 5935.79 11.48 107.02 dm-1 0.00 0.00 57.07 40.84 228.27 163.35 8.00 93.84 979.61 13.94 2329.08 10.93 107.02

2. 查看进程状态

进程状态表

PROCESS STATE CODES D uninterruptible sleep (usually IO) R running or runnable (on run queue) S interruptible sleep (waiting for an event to complete) T stopped, either by a job control signal or because it is being traced. W paging (not valid since the 2.6.xx kernel) X dead (should never be seen) Z defunct (zombie) process, terminated but not reaped by its parent.

查看到进程中状态 D(disk sleep)的进程

# for x in `seq 1 1 10`; do ps -eo state,pid,cmd | grep  ^D  echo  ----  sleep 5; done

查看到有 kjournald 这个进程

查看这个进程是做什么的?

kjournald 是 ext3 文件系统记录文件系统日志的进程。

查看进程相关状态信息

# cat /proc/487/io rchar: 48752567 wchar: 549961789 syscr: 5967 syscw: 67138 read_bytes: 49020928 write_bytes: 549961728 cancelled_write_bytes: 0

查看都往哪写东西了

# lsof -p 487

引起 kjournald 状态 D 的原因还在查。。。。

以上是“Linux 服务器高 I / O 等待延迟问题查找的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计1515字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)