如何查看Linux系统I/O负载情况?

如何查看Linux系统I/O负载情况?

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本文介绍如何使用iostat、iotop工具查看I/O负载情况。

查看磁盘I/O负载

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

iotop是一个用来监视磁盘I/O使用状况的top类工具,可以从进程纬度查看磁盘IO负载。

  1. 执行如下命令,安装iotop。

    yum install iotop
  2. 执行如下命令,查看I/O负载。

    iotop -k -n 5 -d 3
    说明
    • -b:记录到日志。

    • -k:以KB为单位显示。

    • -n:统计次数。

    • -d:统计时间间隔。

    显示结果如下。

    如何查看Linux系统I/O负载情况?

    显示结果参数说明如下,更多参数说明,可执行iotop -h查询。

    • DISK READ:该进程读I/O带宽。

    • DISK WRITE:该进程写I/O带宽。

    • SWAPIN:磁盘的交换使用率。

    • IO:该进程的 I/O 利用率,包含磁盘和交换。

kjournald进程占用I/O资源高问题

问题描述

使用iotop排查分析,发现kjournald进程占用了大量I/O资源。

问题原因

该问题通常是由于.ext3文件系统设置的Journal size太小导致。

kjournald进程是ext3文件系统进行I/O数据操作的内核进程,它在向磁盘内写入和读取数据时占用CPU和内存资源。当循环的向ext3文件系统写数据时,会使Journal size不断增大,到达设置的Journal size时,就会出现该问题。

解决方案

  1. 远程连接Linux系统的ECS实例。

    具体操作,请参见连接方式概述。

  2. 执行如下命令,查看相应分区的Journal size大小。

    dumpe2fs /dev/xvda1 | grep Journal
    说明

    /dev/xvda1请替换为实际的分区。

    系统显示类似如下,表示/dev/xvda1分区的Journal size为128M。

    dumpe2fs 1.42.9 (28-Dec-2013)
    Journal inode: 8
    Journal backup: inode blocks
    Journal features: journal_incompat_revoke
    Journal size: 128M
    Journal length: 32768
    Journal sequence: 0x00010ffb
    Journal start: 10953
  3. 执行如下命令,修改Journal size大小。

    mke2fs -J size=400 /dev/xvda1 
    说明

    请根据业务需要,修改size大小,/dev/xvda1请替换为实际的分区。

I/O性能优化:通过4K对齐提高I/O性能

4K对齐指将符合4K扇区定义格式化过的硬盘,按照4K扇区的规则写入数据。4K对齐可以使簇与扇区相对应,保证了磁盘读写效率,以提高I/O性能。

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

警告

运行此脚本会自动格式化所有数据盘,如果非新购数据盘,请在操作前,确认已对相关数据盘进行数据备份。具体操作,请参见创建一个云盘快照。

  1. 使用root用户远程连接Linux系统的ECS实例。

    具体操作,请参见连接方式概述。

  2. 下载auto_fdisk.zip压缩包后解压,将解压后脚本并上传到目标服务器。

  3. 依次执行如下命令,为脚本添加执行权限,然后运行脚本。

    chmod +x ./auto_fdisk.sh
    ./auto_fdisk.sh

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/4190.html

赞 (0)
打赏 微信扫一扫 微信扫一扫
Linux实例负载高问题排查和异常处理
上一篇 2024年9月28日 上午10:36
腾讯云linux系统 initramfs 或 initrd 损坏/丢失
下一篇 2024年10月11日 下午1:28

相关推荐

  • 学派吧-linux中使用yum安装Nginx的实例教程-linux教程

    这篇文章主要给大家介绍了在CentOS 7中利用yum安装Nginx的方法教程,文中给出了详细的步骤介绍,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。 前言 因为最近在筹备Docker系列课程,其中涉及到在CentOS 7中安装Nginx。遇到一些问题,所以想着将过程总结分享出来供大家参考学习,下面来看看详细的介绍: 当使用以下命令安装Ngi…

    服务器运维 2018年12月14日
    2.4K00
  • 如何在Linux(centos)中用命令删除文件教程

    在Linux中可以使用多种方法来删除文件,下面本篇文章给大家介绍两种删除文件的方法:rm命令和trash-cli工具,希望对大家有所帮助。 rm命令 rm命令是大多数人在删除文件时经常使用的命令,它用于删除一个文件或者目录。 rm命令的语法如下: rm /path/to/file 还可以删除文件夹和子文件夹中的所有文件,如下所示: rm -R /path/t…

    2019年3月13日
    4.4K00
  • 如何处理 ECS 实例对外 DDoS 攻击导致被锁定-linux运维-学派吧

    本文在介绍如何处理 ECS 实例对外 DDoS 攻击导致被锁定的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。 如何处理 ECS 实例对外 DDoS 攻击导致被锁定 当您的 ECS 实例在 ECS 控制台的状态为锁定,同时收到阿里云实例关停的官方短信或邮件通知时,代表您的 ECS 实例已被安全锁定。这是因为阿里云检测到您的 ECS 实例有…

    服务器运维 2018年11月21日
    2.9K00
  • 记Apache httpd 2.4.6 升级部署 https-Linux运维

    有需要服务器方面的需求和咨询,可以联系博主 QQ 7271895 一个2014年初上线的项目,要升级https,记录一下。 一共有三台WEB服务器,进入 apache/modules 查看是否有 mod_ssl.so。 两台服务器正常,一台缺失,于是需要动态编译。 官网下载httpd2.4.6(这里需要./httpd -v 查看一下当前版本号),解压缩,进入…

    服务器运维 2018年9月30日
    4.2K00
  • 宝塔输入bt提示/usr/bin/bt: line 129: syntax error: unexpected end of file解决办法

    最近有遇到过安装完面板时候,输入bt 报 /usr/bin/bt: line 129: syntax error: unexpected end of file 的错误出现这个问题可能原因:1、网络波动导致无法将宝塔文件写入到/etc/init.d/bt 这个系统文件2、源文件缺失下面是解决办法: 1、mv /etc/init.d/bt /tmp/bt_ba…

    2019年4月21日
    4.8K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部