iostat查看io情况(监控Linux的8种方式)

查看TPS和吞吐量信息
[[email protected] ~]#iostat -d -k 1 10
Device:         tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              19.00         0.00       112.00          0        112
sda1              0.00         0.00         0.00          0          0
sda2              0.00         0.00         0.00          0          0
sda3              0.00         0.00         0.00          0          0
sda4              0.00         0.00         0.00          0          0
sda5              3.00         0.00        16.00          0         16
sda6              0.00         0.00         0.00          0          0
sda7            16.00         0.00        96.00          0       96
tps:该设备每秒的传输次数,一次传输的意思是“一次I/O请求”
kB_read/s:每秒从设备读取的数据量
kB_wrtn/s :每秒向设备写入的数据量
kB_read :读取的总数据量
kB_wrtn :写入的总数量数据量
使用-x获得更多信息
查看设备使用率(%util)、响应时间(await)
[[email protected] ~]#iostat -d -x  -k 1 10
Device:         rrqm/s   wrqm/s   r/s   w/s      rkB/s    wkB/s   avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00       22.00  0.00 18.00     0.00   160.00    17.78     0.07         3.78   3.78   6.80
sda1              0.00       0.00   0.00  0.00      0.00     0.00     0.00        0.00         0.00   0.00   0.00
sda2              0.00       0.00   0.00  0.00      0.00     0.00     0.00        0.00         0.00   0.00   0.00
sda3              0.00      15.00  0.00  2.00      0.00    68.00    68.00      0.01         6.50   6.50   1.30
sda4              0.00       0.00   0.00  0.00      0.00     0.00     0.00        0.00         0.00   0.00   0.00
sda5              0.00       0.00   0.00   0.00     0.00     0.00     0.00        0.00         0.00   0.00   0.00
sda6              0.00       0.00   0.00  0.00      0.00     0.00     0.00        0.00         0.00   0.00   0.00
sda7              0.00      7.00  0.00 16.00     0.00    92.00    11.50     0.06        3.44   3.44   5.50

rrqm/s:   每秒进行 merge 的读操作数目.即 delta(rmerge)/s
wrqm/s:  每秒进行 merge 的写操作数目.即 delta(wmerge)/s
r/s:           每秒完成的读 I/O 设备次数.即 delta(rio)/s
w/s:         每秒完成的写 I/O 设备次数.即 delta(wio)/s
rsec/s:    每秒读扇区数.即 delta(rsect)/s
wsec/s: 每秒写扇区数.即 delta(wsect)/s
rkB/s:      每秒读K字节数.是 rsect/s 的一半,因为每扇区大小为512字节.(需要计算)
wkB/s:    每秒写K字节数.是 wsect/s 的一半.(需要计算)
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区).delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度.即 delta(aveq)/s/1000(因为aveq的单位为毫秒).
await:    平均每次设备I/O操作的等待时间(毫秒).即 delta(ruse+wuse)/delta(rio+wio)
svctm:  平均每次设备I/O操作的服务时间 (毫秒).即 delta(use)/delta(rio+wio)
%util:     一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的.即 delta(use)/s/1000 (因为use的单位为毫秒)
(如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈.

%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。
)
部署一个程序时(我测试的是一个实时上传日志的程序),对系统的cpu、内存、io等都要有所考虑,保证系统高效的运行。
如果程序本身处理的包特别小,事件很多,压力大且没有间隔的话,占用CPU的资源会很多
如果用磁盘缓存,不用内存缓存的话,能够支持断点重传,保证数据的可靠性上传,如突然断电等情况,存入磁盘缓存的数据等到恢复后会依然上传,而不会丢失,但是相对的也会增加读写磁盘的次数,如果数据量比较小,速度还是可以忍受的。

####################################################################################

http://blog.csdn.net/avilifans/article/details/12002019

时间: 2024-10-29 00:34:23

iostat查看io情况(监控Linux的8种方式)的相关文章

linux wa%过高,iostat查看io状况

命令总结: 1. top/vmstat 发现 wa%过高,vmstat b >1: 参考文章: 1. 关于Linux系统指令 top 之 %wa 占用高,用`iostat`探个究竟 最近测试一项目,性能非常不理想.老版本逻辑和功能都简单时,性能是相当的好!接口点击率是万级的.谁知修改后上不了百. 架设Jboss服务器,业务逻辑用Java处理,核心模块使用C++处理,使用JNI衔接. 本应用对CPU和硬盘第三非常敏感,因为有压缩解压和大量数据交互.起初作压力测试时,发现服务器各资源使用都有剩余,而

python subprocess模块 监控子进程的2种方式 忙等待和立即返回同时设置子进程超时

下面的资料是关于python subprocess模块 监控子进程的2种方式 忙等待和立即返回同时设置子进程超时时间的代码. import subprocess import os import time tt = '555' cmd = "python /home/100003/python/mypython/sub2.py "+" 333"+" 444 "+tt print time.time() sub2 = subprocess.Pope

查看IO情况

有时系统卡,可能是io值使用满了导致 1.安装iostat yum install sysstat 2.查看io使用情况 iostat -dx 3.安装iotop yum install iotop 4.查看io被哪些进程使用 iotop 参考博客:cnblogs.com/yunweiweb/p/11250118.html 原文地址:https://www.cnblogs.com/guoyu1/p/12237639.html

Java基础知识强化之IO流笔记62:三种方式实现键盘录入

1. 三种方式实现键盘录入     System.in 标准输入流.是从键盘获取数据的 键盘录入数据三种方式:  A:main方法的args接收参数.  java HelloWorld hello world java  B:Scanner(JDK5以后的)  Scanner sc = new Scanner(System.in);  String s = sc.nextLine();  int x = sc.nextInt()  C:通过字符缓冲流包装标准输入流实现  BufferedRead

linux 自启动 | 三种方式自启动

linux 实现自启动有多种方式,通过Linux 底层启动原理介绍,便可以理解以下几种方式 这里简单介绍一下这几种方式 一.自定义开机程序   /etc/rc.d/rc.local  1.vim  /etc/rc.d/rc.local 2.在exit0 之前添加启动命令 二. 通过服务的方式自启动 其中 1.在/etc/init.d 下建立相关程序的启动脚本ln -s /etc/init.d/服务名 /etc/rc.d/rc3.d/S100服务名 //S:开机自启动 100:启动顺序2.chkc

LoadRunner监控Linux的三种方法

方法一.LR + SiteScope 方法二.使用rstatd包 1.下载rpc.rstatd-4.0.1.tar.gz 2.解压缩 tar -zxvf rpc.rstatd-4.0.1.tar.gz 3.配置 ./configure 4.编译 make 5.安装 make install 6.启动 rpc.rstatd 7.在LoadRunner中添加计数器 average load :在过去的1分钟,的平均负载 cpu utilization: cpu的使用率 disk traffic: d

Linux 下三种方式设置环境变量

1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变量?简单说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件. 设置变量对于一般人最实用的功能就是: 不用拷贝某些dll文件到系统目录中了,而path 这一系统变量就是系统搜索dll文件的一系列路径 在Linux系统下,如果你下载并安装应用程序,很有可能在键入它的名称的时候出现

java连接linux的三种方式(附执行命令)

# 本地调用使用JDK自带的RunTime类和Process类实现 public static void main(String[] args){ Process proc = RunTime.getRunTime().exec("cd /home/winnie; ls;") // 标准输入流(必须写在 waitFor 之前) String inStr = consumeInputStream(proc.getInputStream()); // 标准错误流(必须写在 waitFor

Linux系统IO分析工具之iotop参数详解(查看IO占用)

这篇文章主要介绍了Linux系统IO分析工具之iotop参数详解(查看IO占用),本文着重注解了iotop工具的参数,以及可操作命令,需要的朋友可以参考下 简介: iotop – simple top-like I/O monitoriotop是一个用来监视磁盘I/O使用状况的 top 类工具,可监测到哪一个程序使用的磁盘IO的信息(requires 2.6.20 or later) 安装: 复制代码 代码如下: yum -y install iotop 用法: 复制代码 代码如下: iotop