OS性能分析命令(二)各种stat

文章目录

      • 一、vmstat
        • 1.1 命令说明
        • 1.2 参数说明
        • 1.3 结果说明
      • 二、iostat
        • 2.1 命令说明
        • 2.2 参数说明
        • 2.3 结果说明
      • 三、mpstat
        • 3.1 命令说明
        • 3.2 参数说明
        • 3.3 结果说明
      • 四、netstat
        • 4.1 命令说明
        • 4.2 参数说明
        • 4.3 结果说明

一、vmstat

1.1 命令说明

vmstat可以监控操作系统的进程状态、内存、虚拟内存、磁盘IO、上下文、CPU的信息。

1.2 参数说明

vmstat [-a] [-n] [-S unit] [delay [ count]]

  • -a:显示活跃和非活跃内存
  • -m:显示slabinfo
  • -n:只在开始时显示一次各字段名称。
  • -s:显示内存相关统计信息及多种系统活动数量。
  • delay:刷新时间间隔。如果不指定,只显示一条结果。
  • count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
  • -d:显示各个磁盘相关统计信息。
  • -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
  • -V:显示vmstat版本信息。
  • -p:显示指定磁盘分区统计信息
  • -D:显示磁盘总体信息

1.3 结果说明

在这里插入图片描述

  • Procs
  • R:等待被执行的进程数,即表示运行和等待CPU时间片的进程数
  • B:排队的进程数,即等待资源的进程数
  • Memory
  • Swap : 虚拟内存,切换到虚拟内存的内存大小
  • Free: 空闲的物理内存大小
  • Buff: 缓冲区大小
  • Cache: 缓存大小
  • Swap
  • Si:磁盘写入虚拟内存,即由内存进入到虚拟内存的大小。
  • So:虚拟内存写入磁盘,即由虚拟内存进入到磁盘的大小。

Io

  • Bi:由块设备读入的数据总量,读磁盘
  • Bo:由块设备写入的数据总量,写磁盘
  • System
  • In: 每秒设备中断数
  • Cs:每秒上下文切换的次数
  • Cpu
  • Us:用户进程消耗cpu百分比
  • Sy:内核进程消耗cpu百分比
  • Id:cpu处于空闲状态的时间百分比
  • Wa:Io等待cpu所占时间的百分比

二、iostat

2.1 命令说明

Iostat是对系统磁盘IO操作进行监控,它的输出主要显示磁盘的读写操作的统计信息。同时给出cpu的使用情况

2.2 参数说明

iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ … ] | ALL ] [ -p [ device | ALL ] ] [ interval [ count ] ]
各选项以及参数含义如下:

  • -c: 仅显示CPU统计信息.与-d选项互斥.
  • -d :仅显示磁盘统计信息.与-c选项互斥.
  • -k :以K为单位显示每秒的磁盘请求数,默认单位块.
  • -p :device | ALL
    与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:
    # iostat -p had

或显示所有设备
# iostat -p ALL

  • -t :在输出数据时,打印搜集数据的时间.
  • -V :打印版本号和帮助信息.
  • -x device 输出指定要统计的磁盘设备名称,默认为所有磁盘设备.
  • - interval :指两次统计间隔时间
  • - count :按照interval 指定的时间间隔统计的次数

2.3 结果说明

磁盘监控
OS性能分析命令(二)各种stat_第1张图片

  • 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的单位为毫秒) 。

cpu监控
在这里插入图片描述

  • %usr:用户进程消耗的CPU时间百分比。
  • %nice: 运行正常进程消耗的CPU时间百分比。
  • %system:系统进程消耗的CPU时间百分比。
  • %iowait:I/O等待所占CPU时间百分比。
  • %steal:在内存紧张环境下,pagein强制对不同的页面进行的steal操作。
  • %idle:CPU空闲状态的时间百分比。

三、mpstat

3.1 命令说明

Mpstat可以监控到cpu的一些统计信息,在多核cpu的系统里不但能够查看所有cpu的平均状况信息,而且能够查看特定的cpu的信息

3.2 参数说明

mpstat [-P {|ALL}] [internal [count]]

参数:

  • (1)-P {|ALL}:表示监控哪个CPU,在[0,cpu个数-1]中取值;
  • (2)internal:相邻的两次采样的间隔时间;
  • (3)count:采样的次数,count只能和delay一起使用;

备注:当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个interval时间段的平均信息。

3.3 结果说明

OS性能分析命令(二)各种stat_第2张图片

  • (1)user:在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程,值为 (usr/total)*100;
  • (2)nice:在internal时间段里,nice值为负进程的CPU时间(%),值为(nice/total)*100;
  • (3)system:在internal时间段里,核心时间(%),值为(system/total)*100;
  • (4)iowait:在internal时间段里,硬盘IO等待时间(%),值为(iowait/total)*100;
  • (5)irq:在internal时间段里,硬中断时间(%),值为(irq/total)*100;
  • (6)soft:在internal时间段里,软中断时间(%),值为(softirq/total)*100;
  • (7)idle:在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%),值为(idle/total)*100;
  • (8)intr/s:在internal时间段里,每秒CPU接收的中断的次数,值为(intr/total)*100;

四、netstat

4.1 命令说明

netstat 命令用于显示本机网络链接、运行端口、路由表等信息

4.2 参数说明

netstat [选项]

  • -a (all):显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_WAIT)或者处于联机等待状态的(TIME_WAIT)等
  • -t (tcp):显示tcp相关选项
  • -u (udp):仅显示udp相关选项
  • -n :拒绝显示别名,能显示数字的全部转化成数字。
  • -l :仅列出有在 Listen (监听) 的服务状态
  • -p :显示建立相关链接的程序名
  • -r :显示路由信息,路由表,除了显示有效路由外,还显示当前有效的连接
  • -e :显示扩展信息,例如uid等
  • -s :按各个协议进行统计
  • -c :每隔一个固定时间,执行该netstat命令。
  • -v :显示当前的有效连接,与-n选项类似
  • -I :显示自动匹配接口的信息
  • -e :显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

4.3 结果说明

在这里插入图片描述

  • Iface:表示网络设备的接口名称。
  • MTU:表示最大传输单元,单位为字节。
  • RX-OK/TX-OK:表示已经准确无误地接收/发送了多少数据包。
  • RX-ERR/TX-ERR:表示接收/发送数据包时候产生了多少错误。
  • RX-DRP/TX-DRP:表示接收/发送数据包时候丢弃了多少数据包。
  • RX-OVR/TX-OVR:表示由于误差而丢失了多少数据包。
  • Flg表示接口标记,其中

B 已经设置了一个广播地址。

L 该接口是一个回送设备。

M 接收所有数据包(混乱模式)。

N 避免跟踪。

O 在该接口上,禁用A R P。

P 这是一个点到点链接。

R 接口正在运行。

U 接口处于“活动”状态。

其中RX-ERR/TX-ERR、 RX-DRP/TX-DRP和RX-OVR/TX-OVR的值应该都为0,如果不为0,并且很大,那么网络质量肯定有问题,网络传输性能也一代会下降。
OS性能分析命令(二)各种stat_第3张图片

  • Recv-Q:表示接收队列。
  • Send-Q :表示发送队列。
  • Local Address :表示本地机器名、端口
  • Foreign Address :表示远程机器名、端口
  • State:表示状态,其中

LISTEN :在监听状态中。
ESTABLISHED:已建立联机的联机情况。
TIME_WAIT:该联机在目前已经是等待的状态。

你可能感兴趣的:(OS)