系统性能分析工具

vmstatVirtual Meomory Ststistics(虚拟内存统计)的缩写,很多linux发行版本都默认安装了此命令工具,利用vmstat命令可以对操作系统的内存信息、进程状态、cpu活动等进行监控,不足之处是无法对某个进程进行深入分析。

vmstat使用语法如下

vmstat [-v] [n] [delay [count]]各个选项参数含义如下

 -V:表示输出版本信息,是可选参数
 -n:表示在周期性循环输出时,输出的头部信息仅显示一次
 delay:表示两次输出之间的间隔时间
 count:表示按照“delay”指定的时间间隔统计的次数。默认为1

例如

 vmstat 3
 表示每3秒更新一次输出信息,循环输出,按ctrl+c组合键停止输出。
 vmstat 3 5
 表示每3秒更新一次信息,统计5次后停止输出。

iostat命令I/O statistics(输入输出统计)的缩写,主要的功能是对系统的磁盘I/O操作进行监控。他的输出主要显示磁盘读写操作的统计信息,同时也会给出CPU的使用情况。同vmstat一样,iostat也不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

iostat一般都不随系统安装。要使用iostat工具,需要在系统上安装一个Sysstat工具包。iostat是一个开源软件

官方地址:

http://pagesperso-orange.fr/sebastien.godard 需要安装,安装好后,系统会多出3个命令:iostat sar 和 mpstat

iostat使用语法如下

iostat [ -c ] [ -d ] [ -k ] [ -t ] [ -x[device] ] [interval[count]]

 -c:显示cpu的使用情况
 -d:显示磁盘的使用情况
 -k:每秒以千字节为单位显示数据
 -t:输出统计信息开始执行的时间
 -x device:指定要统计的磁盘设备名称,默认为所有的磁盘设备
 interval:指定两次统计间隔的时间
 count:按照“interval”指定的时间间隔统计的次数。

sar命令很强大,是分析系统性能的重要工具之一。通过sar命令,可以全面的获取系统的cpu、运行队列、磁盘I/O、分页(交换区)、内存、cpu中断、网络等性能数据。

sar使用语法如下

sar [options] [-o filename] [interval [count]]

   options为命令行选项,sar的命令很多,下面只列出常用选项:
   -A:显示系统所有资源设备(cpu、内存、磁盘)的运行状况
   -u:显示系统所有cpu在采样时间内的负载状态
   -P:显示当前系统中指定cpu的使用情况
   -d:显示系统所有硬盘设备在采样时间内的使用状况
   -r:显示系统内存在采样时间的使用状况
   -b:显示缓冲区在采样时间的使用情况
   -v:显示进程、文件、inode节点和锁表状态
   -n:显示网络运行状态。参数后面可跟DEV、EDEV、SOCK、FULL。DEV显示网络接口信息,EDEV显示网络统计错误的统计数据,SOCK显示套接字信息,FULL显示以上三个信息。他们单独或者一起使用。
   -q:显示运行队列的大小,他与当时的平均负载相同
   -R:显示进程在采样时间内的活动情况。
   -y:显示终端设备在采样时间内的活动情况。
   -w:显示系统交换活动在采样时间的状态。
   -o filename:表示将命令结果以二进制形式存放在文件中,filename是文件名
   interval:表示采样间隔时间,是必须有的参数
   count:表示采样次数,是可选参数,默认值为1

例如:

   要查看cpu的整体负载状况,每3秒统计一次,统计5次,可以使用以下命令。
   sar -u 3 5
   系统的cpu计数是从0开始的,如果要查看第二颗cpu运行的负载,使用以下命令
   sar -P 1 3 5
   要查看系统盘的读写性能,使用以下命令 
   sar -d 3 5
   同理,要查看系统内存使用情况,网络运行状态,可以分别使用以下命令
   sar -r 3 5
   sar -n DEV 5 3

判断系统资源利用状况的一般准则


推荐文章:https://www.jianshu.com/p/e80dd95a039d

推荐阅读更多精彩内容