Linux 状态命令之磁盘状态 iostat

Linux系统中的iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

安装

yum install sysstat

iostat命令格式

iostat [参数] [时间] [次数]命令参数:-c 显示CPU使用情况-d 显示磁盘使用情况-k 以K为单位显示-m 以M为单位显示-N 显示磁盘阵列(LVM) 信息-n 显示NFS使用情况-p 可以报告出每块磁盘的每个分区的使用情况-t 显示终端和CPU的信息-x 显示详细信息

实例

[fenglepeng@centos]#iostat -x
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/20/2022 	_x86_64_	(4 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.54    0.01    0.38    0.00    0.00   99.08Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
fd0               0.00     0.00    0.00    0.00     0.00     0.00     8.00     0.00   22.25   22.25    0.00  22.25   0.00
sdb               0.00     0.00    0.00    0.02     0.00     0.11    12.58     0.00    1.71    1.69    1.71   1.24   0.00
sda               0.00     0.05    0.00    0.26     0.62     3.83    33.26     0.00    7.26    7.39    7.25   0.52   0.01
dm-0              0.00     0.00    0.00    0.31     0.60     3.82    28.24     0.00   11.18    7.49   11.22   0.45   0.01
dm-1              0.00     0.00    0.00    0.00     0.00     0.00    50.09     0.00    0.07    0.07    0.00   0.07   0.00

输出内容详解:

avg-cpu:cpu 状态

  • %user:CPU处在用户模式下的时间百分比。
  • %nice:CPU处在带NICE值的用户模式下的时间百分比。
  • %system:CPU处在系统模式下的时间百分比。
  • %iowait:CPU等待输入输出完成时间的百分比。
  • %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
  • %idle:CPU空闲时间百分比。

Device:设备名称。当然了,iostat命令的重点不是用来看CPU的,重点是用来监测磁盘性能的。

  • rrqm/s:每秒合并到设备的读取请求数。
  • wrqm/s:每秒合并到设备的写请求数。
  • r/s:每秒向磁盘发起的读操作数。
  • w/s:每秒向磁盘发起的写操作数。
  • rkB/s:每秒读K字节数。
  • wkB/s:每秒写K字节数。
  • avgrq-sz:平均每次设备I/O操作的数据大小。
  • avgqu-sz:平均I/O队列长度。
  • await:平均每次设备I/O操作的等待时间 (毫秒),一般地,系统I/O响应时间应该低于5ms,如果大于 10ms就比较大了。
  • r_await:每个读操作平均所需的时间;不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间。
  • w_await:每个写操作平均所需的时间;不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间。
  • svctm:平均每次设备I/O操作的服务时间 (毫秒)(这个数据不可信!)。
  • %util:一秒中有百分之多少的时间用于I/O操作,即被IO消耗的CPU百分比,一般地,如果该参数是100%表示设备已经接近满负荷运行了。
[fenglepeng@centos]# iostat 
Linux 3.10.0-1160.11.1.el7.x86_64 (template-centos7) 	12/20/2022 	_x86_64_	(4 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.54    0.01    0.38    0.00    0.00   99.08Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
fd0               0.00         0.00         0.00      21280          0
sdb               0.02         0.00         0.11       2790    1811861
sda               0.27         0.62         3.83   10461853   64221227
dm-0              0.31         0.60         3.82    9995019   64162414
dm-1              0.00         0.00         0.00       2204          0

输出内容详解:

  • tps:每秒I/O数(即IOPS。磁盘连续读和连续写之和)。
  • kB_read/s:每秒从磁盘读取数据大小,单位KB/s。
  • kB_wrtn/s:每秒写入磁盘的数据的大小,单位KB/s。
  • kB_read:从磁盘读出的数据总数,单位KB。
  • kB_wrtn:写入磁盘的的数据总数,单位KB。

性能监控指标

我们到底该关注哪些输出内容就可以确定这台服务器是否存在IO性能瓶颈。

  • %iowait:如果该值较高,表示磁盘存在I/O瓶颈。
  • await:一般地,系统I/O响应时间应该低于5ms,如果大于10ms就比较大了。
  • avgqu-sz:如果I/O请求压力持续超出磁盘处理能力,该值将增加。如果单块磁盘的队列长度持续超过2,一般认为该磁盘存在I/O性能问题。需要注意的是,如果该磁盘为磁盘阵列虚拟的逻辑驱动器,需要再将该值除以组成这个逻辑驱动器的实际物理磁盘数目,以获得平均单块硬盘的I/O等待队列长度。
  • %util:一般地,如果该参数是100%表示设备已经接近满负荷运行了。

最后,除了关注指标外,我们更需要结合部署的业务进行分析。对于磁盘随机读写频繁的业务,比如图片存取、数据库、邮件服务器等,此类业务吗,tps才是关键点。对于顺序读写频繁的业务,需要传输大块数据的,如视频点播、文件同步,关注的是磁盘的吞吐量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GDB十分钟教程

GDB十分钟教程 作者: liigo 原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx 日期: 2006年1月16日 本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。 GDB是一个由GNU开源组织发布的、UNIX/LI…

课后作业-阅读任务-阅读提问-3

1.如果两个人合作的始终达不到规范阶段该怎如何处理? 2. 逻辑和界面设计要注意哪些因素?转载于:https://www.cnblogs.com/fhycm/p/7866548.html

ride上点击用例不能显示edit信息_接口测试平台代码实现61: 多接口用例1

终于又序更上了,原谅最近作者几天事情不断。按照我们之前的计划,需要迅速开启很重要的核心多用例接口。首先,我们要确定,这个功能的大体设计。就放在在我们的页面 用例库 中:所以也就是我们很久之前就创建好的P_cases.…

黑客攻防专题八:21种RING的提权方法

好多都没有成功,还是发来看看,看看思路,呵呵 以下全部是本人提权时候的总结 很多方法至今没有机会试验也没有成功,但是我是的确看见别人成功过的。本人不才,除了第一种方法自己研究的,其他的都是别人的经验…

Linux 状态命令之内存状态 free

简介 free指令会显示内存的使用情况&#xff0c;包括实体内存&#xff0c;虚拟的交换文件内存&#xff0c;共享内存区段&#xff0c;以及系统核心使用的缓冲区等。 语法 free [-bkmotV][-s <间隔秒数>]参数说明&#xff1a;-b  以Byte为单位显示内存使用情况。-k  以…

SpringMVC在使用Jackson2时关于日期类型格式化的问题

*本例程序使用Jackson2.9.0&#xff0c;jackson1.x的处理方式稍稍有些不同。 在基于Spring&SpringMVC的Web项目中&#xff0c;我们常使用Jackson(1.x/2.x)来增加程序对Json格式的数据的支持。 因此&#xff0c;在实际应用中有个常见的需求&#xff1a;日期的格式化。 假设&…

GDB 使用——Linux C编程

简述 一 列文件清单 二&#xff1a;执行程序 三&#xff1a;显示数据 四&#xff1a;断点(breakpoint) 五&#xff0e;断点的管理 六&#xff0e;变量的检查和赋值 七. 单步执行 八&#xff0e;函数的调用 九&#xff0e;机器语言工具 …

python拨号_python 拨号代码(win10 系统亲测有效)

# -*- coding: utf-8 -*-import win32rasimport time,osdef Connect(dialname, account, passwd):dial_params (dialname, , , account, passwd, )return win32ras.Dial(None, None, dial_params, None)def DialBroadband():dialname u宽带连接 #just a nameaccount u059291…

HP服务器引导盘下载地址

HP SmartStart CD 8.7 x32版本的下载地址为&#xff1a;http://ftp.hp.com/pub/softlib2/software1/cd/p1040463476/v63549/smartstart-8.70-0-x86.zip HP SmartStart CD 8.7 x32版本支持以下机型&#xff1a; HP ProLiant ML 和 DL 300、500 和 700 系列以及 HP ProLiant BL S…

MUI - 预加载

打开详情页回到顶部:document.body.scrollTop document.documentElement.scrollTop 0;方式一&#xff1a;preload一次仅能预加载一个页面&#xff08;除非循环&#xff09; var subWebview mui.preload({url: examples/accordion.html,id: template_sub,top: styles: {48 …

python 分类变量xgboost_【转】XGBoost参数调优完全指南(附Python代码)

xgboost入门非常经典的材料&#xff0c;虽然读起来比较吃力&#xff0c;但是会有很大的帮助&#xff1a;英文原文链接:https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/

用 GDB 调试Linux程序及有用技巧

用 GDB 调试Linux程序及有用技巧(转) armlinux 2008-06-19 10:48 阅读91 评论0 字号&#xff1a; 大大 中中 小小 GNU的调试器称为gdb&#xff0c;该程序是一个交互式工具&#xff0c;工作在字符模式。在 X Window 系统中&#xff0c;有一个gdb的前端图形工具…

Bash : 索引数组

Bash 提供了两种类型的数组&#xff0c;分别是索引数组(indexed array)和关联数组(associative array)。本文主要介绍索引数组的基本用法。 索引数组的基本特点 Bash 提供的数组都是一维数组。任何变量都可以用作索引数组。通过 declare 关键字可以显式的声明一个索引数组。数组…

Flask 第三方组件之 login

在了解使用Flask来实现用户认证之前&#xff0c;我们首先要明白用户认证的原理。假设现在我们自己去实现用户认证&#xff0c;需要做哪些事情呢&#xff1f; 首先&#xff0c;登录。用户能够输入用户名和密码进行登录&#xff0c;所以需要网页和表单&#xff0c;实现用户输入和…

Zookeeper客户端Curator使用详解

http://www.jianshu.com/p/70151fc0ef5dZookeeper客户端Curator使用详解 简介 Curator是Netflix公司开源的一套zookeeper客户端框架&#xff0c;解决了很多Zookeeper客户端非常底层的细节开发工作&#xff0c;包括连接重连、反复注册Watcher和NodeExistsException异常等等。Pat…

python argparse nargs_Python | 使用argparse解析命令行参数

今天是Python专题第27篇文章&#xff0c;我们来聊聊Python当中的命令行参数工具argparse。命令行参数工具是我们非常常用的工具&#xff0c;比如当我们做实验希望调节参数的时候&#xff0c;如果参数都是通过硬编码写在代码当中的话&#xff0c;我们每次修改参数都需要修改对应…

Python 第三方模块之 smtplib

1 python对SMTP的支持 SMTP&#xff08;Simple Mail Transfer Protocol&#xff09;是简单传输协议&#xff0c;它是一组用于用于由源地址到目的地址的邮件传输规则。 python中对SMTP进行了简单的封装&#xff0c;可以发送纯文本邮件、HTML邮件以及带附件的邮件。两个核心模块…

Node.js 使用jQuery取得Nodejs http服务端返回的JSON对象示例

server.js代码&#xff1a; // 内置http模块&#xff0c;提供了http服务器和客户端功能&#xff08;path模块也是内置模块&#xff0c;而mime是附加模块&#xff09; var httprequire("http");// 创建服务器,创建HTTP服务器要调用http.createServer()函数&#xff0c…

linux下gdb单步调试

用 GDB调试程序 GDB 概述 ———— GDB 是 GNU开源组织发布的一个强大的 UNIX下的程序调试工具。或许&#xff0c;各位比较喜欢那种图形界面方式的&#xff0c;像 VC、 BCB等 IDE的调试&#xff0c;但如果你是在 UNIX平台下做软件&#xff0c;你会发现 GDB这个调试工具有比 V…

svg 动画_根据AI导出的SVG path制作SVG线条动画

点击右上方红色按钮关注“web秀”&#xff0c;让你真正秀起来前言首先祝大家2019新年快乐&#xff0c;万事大吉&#xff0c;猪事顺利&#xff0c;阖家欢乐。前面文章SVG 线条动画基础入门知识学习到了基础知识&#xff0c;现在来给大家讲讲如何制作SVG 制作复杂图形线条动画。假…