赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云服务器 ECS
  4. 服务支持
  5. 实例负载高问题
  6. 如何查看Linux系统IO负载情况?

如何查看Linux系统IO负载情况?

  • 实例负载高问题
  • 发布于 2025-04-01
  • 0 次阅读
文档编辑
文档编辑

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

查看磁盘I/O负载

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

iostat是一款Linux系统中监控I/O性能的工具,可以从系统纬度查看磁盘I/O负载情况。

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

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

    iostat -d -k 3 5
    说明
    • -d:显示磁盘的使用情况。

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

    • 3:统计时间间隔。

    • 5:统计次数。

    显示结果如下。

    IO负载

    显示结果参数说明如下,更多参数说明,请参见iostat(1) - Linux man page。

    • Device:磁盘名称。

    • tps:每秒钟发送到的I/O请求数。

    • Blk_read/s:每秒读取的block数。

    • Blk_wrtn/s:每秒写入的block数。

    • Blk_read:读入的block总数。

    • Blk_wrtn:写入的block总数。

使用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:统计时间间隔。

    显示结果如下。

    显示结果参数说明如下,更多参数说明,可执行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
相关文章

Linux实例负载高问题排查和异常处理 2025-04-01 12:00

本文档介绍Linux云服务器负载高导致ECS实例运行变慢、自动关机或重启、无法登录等异常问题的排查方法和解决方案。 问题描述 在您使用ECS实例过程中,可能会遇到实例系统负载较高的情况,负载过高,可能会引发一系列异常问题,简单说明如下:

Linux系统的ECS实例CPU使用率或CPU负载较高问题的排查及解决方案 2025-04-01 12:00

本文主要介绍当Linux系统ECS实例CPU使用率或CPU负载较高时,如何排查分析及常见案例说明。 操作场景 在您使用ECS实例过程中,可能会遇到实例CPU使用率或CPU负载持续较高的情况,您可以按照以下步骤排查定位具体问题。 找到影响CPU使用率或CPU负载过高的具体进程。 <

Windows实例中带宽使用率较高问题的排查及解决方法 2025-04-01 12:00

本文主要介绍Windows实例中带宽使用率较高问题的排查及解决方法。 问题现象 Windows系统的ECS实例中带宽使用率较高。 问题原因 带宽使用率较高可能有以下原因。

Windows系统ECS实例中CPU使用率较高问题的排查及解决方案 2025-04-01 12:00

本文主要介绍Windows系统ECS实例中CPU使用率较高问题的排查及解决方案。 问题现象 Windows系统ECS实例中CPU使用率较高,即CPU使用率≥80%。

如何处理Linux系统内存使用率过高问题? 2025-04-01 12:00

问题现象 使用Linux系统的ECS实例时,出现系统卡顿、内部服务响应速度变慢等问题。通过实例健康诊断显示:该实例当前内存的使用率已超过80%。

如何查看Linux系统IO负载情况? 2025-04-01 12:00

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

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号