206
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
如何查看Linux系统I/O负载情况?-阿里云服务器ECS使用教程

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>

4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 

5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>   


点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

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

查看磁盘I/O负载

使用iostat从系统纬度查看磁盘IO负载
使用iotop从进程纬度查看磁盘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总数。

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: 8Journal backup: inode blocksJournal features: journal_incompat_revokeJournal size: 128MJournal length: 32768Journal sequence: 0x00010ffbJournal 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


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!