【Linux】之【磁盘】相关的命令及解析 [df、du、iostat、iotop]
一、df – 显示磁盘空间使用情况
df 命令来自于英文词组”Disk Free“的缩写,其功能是用于显示系统上磁盘空间的使用量情况。df 命令显示的磁盘使用量情况含可用、已有及使用率等信息,默认单位为 Kb,建议使用-h 参数进行单位换算。df 命令可以查看磁盘使用情况和挂载信息
语法格式
常用参数
参考实例
带有容量单位的显示系统全部磁盘使用量情况:
带有容量单位的显示指定磁盘分区使用量情况:
显示系统中所有文件系统格式为 xfs 的磁盘分区使用量情况:
常用的查看磁盘空间的命令及参数:
二、du – 查看文件或目录的大小
du 命令来自于英文词组“Disk Usage”的缩写,其功能是用于查看文件或目录的大小。人们经常会把 df 和 du 命令混淆,df 是用于查看磁盘或分区使用情况的命令,而 du 命令则是用于按照指定容量单位来查看文件或目录在磁盘中的占用情况。
语法格式
常用参数
参考实例
以易读的容量格式显示指定目录内各个文件的大小信息:
以易读的容量格式显示指定目录内总文件的大小信息:
三、iostat – 监视系统输入输出设备和 CPU 的使用情况
iostat 被用于监视系统输入输出设备和 CPU 的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况。iostat 不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
语法格式
常用参数
参考实例
每隔两秒报告一次:
每 2 秒报告一次,持续 6 次:
显示 sda 与 sdc 的统计数据,每 2 秒报告一次,持续 6 次:
字段解析
tps:该设备每秒的传输次数 kB_read/s:每秒从设备(drive expressed)读取的数据量;kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;kB_read: 读取的总数据量;kB_wrtn:写入的总数量数据量
#rrqm/s 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并 #wrqm/s 每秒对该设备的写请求被合并次数 #r/s 每秒完成的读次数 #w/s 每秒完成的写次数 #rkB/s 每秒读数据量(kB 为单位)#wkB/s 每秒写数据量(kB 为单位)#avgrq-sz 平均每次 IO 操作的数据量(扇区数为单位)#avgqu-sz 平均等待处理的 IO 请求队列长度 #await 平均每次 IO 请求等待时间(包括等待时间和处理时间,毫秒为单位)#svctm 平均每次 IO 请求的处理时间(毫秒为单位)#%util 采用周期内用于 IO 操作的时间比率,即 IO 队列非空的时间比率 #如果 %util 接近 100%,说明产生的 I/O 请求太多,I/O 系统已经满负荷
四、iotop – 监视磁盘 I/O 状态
iotop 命令用来动态地查看磁盘 IO 情况,使用方法和 top 命令十分类似。iotop 具有与 top 相似的 UI,其中包括 PID、用户、I/O、进程等相关信息。
Linux 下的 IO 统计工具如 iostat,nmon 等大多数是只能统计到 per 设备的读写情况,如果你想知道每个进程是如何使用 IO 的就比较麻烦,使用 iotop 命令可以很方便的查看。
下载 iotop 命令要用 yum 在线源
语法格式
常用参数
参考实例
使用-o 参数只显示 IO 操作进程:
使用-b 参数批量显示,无交互:
使用-u 参数显示 root 用户的 IO 进程:
字段解析
#Total DISK READ:从磁盘中读取的总速率 #Total DISK WRITE:往磁盘里写入的总速率 #Actual DISK READ:从磁盘中读取的实际速率 #Actual DISK WRITE:往磁盘里写入的实际速率 #TID:线程 ID,按 p 可转换成进程 ID#PRIO:优先级 #USER:线程所有者 #DISK READ:从磁盘中读取的速率 #DISK WRITE:往磁盘里写入的速率 #SWAPIN:swap 交换百分比 #IO>:IO 等待所占用的百分比 #COMMAND:具体的进程命令
版权声明: 本文为 InfoQ 作者【A-刘晨阳】的原创文章。
原文链接:【http://xie.infoq.cn/article/a2342dc743b9b81478eff4ee6】。未经作者许可,禁止转载。
评论