Linux IO占用高问题如何排查?

赞赏 2016-07-14

云服务器 ECS Linux IO 占用高问题排查方法


IO 负载查看方法


使用 iostat 从系统纬度查看磁盘 IO 负载

可以通过 iostat 从系统维度查看 IO 负载情况。

iostat 并非常见 Linux 发行版本自带工具,其包含在 sysstat 软件包中,需要先通过 yum 或 apt-get 等方式进行安装后才能使用。 具体安装方法本文不再详述。

用法说明:

  1. 示例用法:iostat -d -k 2# -d 表示,显示设备(磁盘)使用状态。# -k 表示让某些使用 block 为单位的列强制使用 kB 为单位。# 2表示,数据显示每隔2秒刷新一次。示例输出:Linux 3.10.0-123.9.3.el7.x8664 (centos)     06/27/2016     _x86_64    (1 CPU)Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtnxvda              0.58         0.12         3.75     278001    8820028xvdb              0.00         0.00         0.00        740          0xvdc              0.00         0.00         0.00       1388          0xvde              0.00         0.00         0.00       2035          0xvdf              0.00         0.00         0.00        740          0

更多参数及返回结果说明,可以参阅 iostat 的 man 帮助。

使用 iotop 从进程纬度查看磁盘 IO 负载

也可以通过 iotop 从进程维度对系统内进程的 IO 使用情况进行排序。

iotop 也并非常见 Linux 发行版本自带工具,也需要先通过 yum 或 apt-get 等方式进行安装后才能使用。 具体安装方法本文不再详述。

用法说明:

直接使用指令 iotop 运行后,可以看到类似以下界面:

回显说明:

  • 默认情况下按照 IO 使用量倒序排序,可以用左右箭头操作排序的字段。
  • 按 r 切换排序方式。
  • 按 o 只显示有磁盘 IO 活动的进程。
  • 更多参数及返回结果说明,可以参阅 iotop 的 man 帮助。

操作案例


kjournald 进程占用 IO 资源高问题

  • 问题描述:
       使用 iotop 排查分析,发现 kjournald 进程占用了大量 IO 资源。
  • 处理办法:
    kjournald 进程是 ext3 文件系统进行 IO 数据操作的内核进程,?它会在向磁盘内写入和读取数据时占用 CPU 和 内存资源。
       该问题通常是由于 ext3 文件系统循环的写数据,导致 Journal size 不断增大,进而占满导致。
       可以通过 dumpe2fs 指令查看相应分区的 Journal size 配置情况,然后尝试调大该值,看问题是否缓解。查询方法如下所示:    
    1. $ dumpe2fs /dev/xvda1 | grep Journaldumpe2fs 1.42.9 (28-Dec-2013)Journal inode:            8Journal backup:           inode blocksJournal features:         journal_incompat_revokeJournal size:             128MJournal length:           32768Journal sequence:         0x00010ffbJournal start:            10953
       

     

通过 4K 对齐提高 IO 性能

可以通过如下脚本对磁盘进行格式化并自动配置 4K 对齐。

注意:运行此脚本会自动格式化所有数据盘磁盘。如果并非新购磁盘,请在操作前,务必确认已经完成相关磁盘上的数据备份。可以通过快照进行磁盘的备份,操作方法可以参阅创建快照

  1. 下载脚本 auto_fdisk.zip
  2. 解压 auto_fdisk.zip 后,将相应脚本上传到目标服务器。
  3. 通过 chmod +x 等指令,为脚本添加执行权限。
  4. 以root身份,通过如下方式为脚本添加执行权限,然后运行即可:    
    1. chmod +x ./auto_fdisk.sh./auto_fdisk.sh
登陆后阅读全文
阅读 2063 赞赏 0 有用 0 没用 0 收藏 0 分享

   



0 条留言

linux分享的头像

linux分享

每个软件都有确定的用途

相关文章

阿里云·业务运营团队内部的前端构建和工程化工具 Dawn开源

阿里云云盾扫描服务器的的IP段有哪些?

阿里云云盾扫描服务器的的IP段有哪些?

安全组设置允许SSH登录到 Linux 实例

Linux 流控原理,实现,及实例

Linux 如何使用 kpartx 命令读取分区表信息

云服务器 ECS Linux /tmp 目录文件是如何做到定期清理的?

Linux Web 环境配置站点的方法

Linux 内核配置问题导致 NAT 环境访问异常

Linux Mac Window网络异常时如何抓包?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

我是如何执行 "rm -rf ~" 的

正态分布为什么常见?(财富的分布却不符合正态分布)

Linux下窗口管理器 xmonad 的使用教程

用披萨做比喻来解释 IaaS,PaaS,SaaS 的区别

如何制作CSR(证书私钥和证书请求文件)文件?

php RedisException with message read error on connection

Windows环境下ping丢包或不通时链路测试工具推荐

Linux下ping丢包或不通时链路测试工具推荐

链路测试结果分析说明及常见链路异常场景和测试报告

SSH 登录时出现如下错误:login: Module is unknown

手机扫一扫
分享文章