

喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>
点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>
阿里云老客户点击这里申请VIP账号,享终身8折优惠(续费也打折)>>>
本文介绍如何使用iostat、iotop工具查看I/O负载情况。
查看磁盘I/O负载
使用iostat从系统纬度查看磁盘IO负载
使用iotop从进程纬度查看磁盘IO负载
iostat是一款Linux系统中监控I/O性能的工具,可以从系统纬度查看磁盘I/O负载情况。
执行如下命令,安装iostat。
yum install sysstat
执行如下命令,查看I/O负载。
iostat -d -k 3 5
说明
显示结果如下。

显示结果参数说明如下,更多参数说明,请参见iostat(1) - Linux man page。
Device:磁盘名称。
tps:每秒钟发送到的I/O请求数。
Blk_read/s:每秒读取的block数。
Blk_wrtn/s:每秒写入的block数。
Blk_read:读入的block总数。
Blk_wrtn:写入的block总数。
-d:显示磁盘的使用情况。
-k:以KB为单位显示。
3:统计时间间隔。
5:统计次数。
kjournald进程占用I/O资源高问题
问题描述
使用iotop排查分析,发现kjournald进程占用了大量I/O资源。
问题原因
该问题通常是由于.ext3文件系统设置的Journal size太小导致。
kjournald进程是ext3文件系统进行I/O数据操作的内核进程,它在向磁盘内写入和读取数据时占用CPU和内存资源。当循环的向ext3文件系统写数据时,会使Journal size不断增大,到达设置的Journal size时,就会出现该问题。
解决方案
远程连接Linux系统的ECS实例。
具体操作,请参见连接方式概述。
执行如下命令,查看相应分区的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
执行如下命令,修改Journal size大小。
mke2fs -J size=400 /dev/xvda1
说明
请根据业务需要,修改size大小,/dev/xvda1请替换为实际的分区。
I/O性能优化:通过4K对齐提高I/O性能
4K对齐指将符合4K扇区定义格式化过的硬盘,按照4K扇区的规则写入数据。4K对齐可以使簇与扇区相对应,保证了磁盘读写效率,以提高I/O性能。
本操作介绍如何通过以下脚本对磁盘进行格式化并自动配置4K对齐。
警告
运行此脚本会自动格式化所有数据盘,如果非新购数据盘,请在操作前,确认已对相关数据盘进行数据备份。具体操作,请参见创建一个云盘快照。
使用root用户远程连接Linux系统的ECS实例。
具体操作,请参见连接方式概述。
下载auto_fdisk.zip压缩包后解压,将解压后脚本并上传到目标服务器。
依次执行如下命令,为脚本添加执行权限,然后运行脚本。
chmod +x ./auto_fdisk.sh./auto_fdisk.sh
推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


湘公网安备43019002001857号
备案号:
客服1