zoukankan      html  css  js  c++  java
  • 云服务器 ECS Linux IO 占用高问题排查方法

     https://help.aliyun.com/knowledge_detail/41224.html?spm=5176.7841174.2.19.uqC1as#使用 iostat 从系统纬度查看磁盘 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
      [root@localhost ~]#  dumpe2fs /dev/sda1
      dumpe2fs 1.39 (29-May-2006)
      Filesystem volume name:   /boot
      Last mounted on:          <not available>
      Filesystem UUID:          62eed73c-4f24-4250-a69a-2643755cba8a
      Filesystem magic number:  0xEF53
      Filesystem revision #:    1 (dynamic)
      Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
      Default mount options:    user_xattr acl
      Filesystem state:         clean
      Errors behavior:          Continue
      Filesystem OS type:       Linux
      Inode count:              76304
      Block count:              305200
      Reserved block count:     15260
      Free blocks:              272556
      Free inodes:              76265
      First block:              1
      Block size:               1024
      Fragment size:            1024
      Reserved GDT blocks:      256
      Blocks per group:         8192
      Fragments per group:      8192
      Inodes per group:         2008
      Inode blocks per group:   251
      Filesystem created:       Mon Jun 29 17:30:27 2015
      Last mount time:          Mon Jul 18 22:44:31 2016
      Last write time:          Mon Jul 18 22:44:31 2016
      Mount count:              143
      Maximum mount count:      -1
      Last checked:             Mon Jun 29 17:30:27 2015
      Check interval:           0 (<none>)
      Reserved blocks uid:      0 (user root)
      Reserved blocks gid:      0 (group root)
      First inode:              11
      Inode size:               128
      Journal inode:            8
      Default directory hash:   tea
      Directory Hash Seed:      885973fc-263b-466d-8498-e427b59d511a
      Journal backup:           inode blocks
      Journal size:             8M
      。。。

    通过 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
  • 相关阅读:
    重定向URL
    【有意思的BUG】分享按钮 分享功能
    【有意思的BUG】浏览器的Title和Icon
    【有意思的BUG】需要停止的进程
    【NO.8】jmeter-场景-上传文件-send-a-file
    nmon-监控测试服务器
    SecureCRT-转换密钥-Xshell-配置服务-使用xshell登录远程linux服务器
    <转>【读fastclick源码有感】彻底解决tap“点透”,提升移动端点击响应速度
    javascript判断鼠标按键和键盘按键的方法
    javascript 中几种实用的跨域方法原理详解(转)
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5686702.html
Copyright © 2011-2022 走看看