系统性能分析工具
上面的章节介绍了影响linux性能的几个方面以及如何解决这些方面的问题,但是如何才能从系统上发现是某个方面或某几个方面出现问题了呢,这就需要使用linux系统提供的几个常用性能分析工具,下面就具体讲述这几个常用性能分析工具的使用.
1.vmstat命令
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,很多linux发行版本都默认安装了此命令工具,利用vmstat命令可以对操作系统的内存信息、进程状态、CPU活动等进行监视,不足之处是无法对某个进程进行深入分析.
vmstat使用语法如下:
vmstat [-V] [-n] [delay [count]]
各个选项及参数含义如下:
l -V:表示打印出版本信息,是可选参数.
l -n:表示在周期性循环输出时,输出的头部信息仅显示一次.
l delay:表示两次输出之间的间隔时间.
l count:表示按照“delay”指定的时间间隔统计的次数.默认为1.
例如:
vmstat 3
表示每3秒钟更新一次输出信息,循环输出,按ctrl c停止输出.
vmstat 3 5
表示每3秒更新一次输出信息,统计5次后停止输出.
2.iostat命令
iostat是I/O statistics(输入/输出统计)的缩写,主要的功能是对系统的磁盘I/O操作进行监视.它的输出主要显示磁盘读写操作的统计信息,同时也会给出CPU使用情况.同vmstat一样,iostat也不能对某个进程进行深入分析,仅对系统的整体情况进行分析.
iostat一般都不随系统安装,要使用iostat工具,需要在系统上安装一个Sysstat的工具包,Sysstat是一个开源软件,官方地址为http://pagesperso-orange.fr/sebastien.godard
可以选择源代码包或rpm包的方式安装,这里不在讲述安装过程,安装完毕,系统会多出3个命令:iostat、sar和mpstat.然后就可以直接在系统下运行iostat命令了.
iostat使用语法如下:
iostat [ -c | -d ] [ -k ] [ -t ] [ -x [ device ] ] [ interval [ count ] ]
各个选项及参数含义如下:
-c:显示CPU的使用情况.
-d:显示磁盘的使用情况.
-k:每秒以k bytes为单位显示数据.
-t:打印出统计信息开始执行的时间.
-x device:指定要统计的磁盘设备名称,默认为所有的磁盘设备.
interval:指定两次统计间隔的时间;
count:按照“interval”指定的时间间隔统计的次数.
3.sar命令
sar命令很强大,是分析系统性能的重要工具之一,通过sar指令,可以全面的获取系统的CPU、运行队列、磁盘I/O、分页(交换区)、内存、CPU中断、网络等性能数据.
sar使用格式为:
sar [options] [g1] [-o filename] [interval [count] ]
各个选项及参数含义如下:
l options 为命令行选项,sar命令的选项很多,下面只列出常用选项:
Ø -A:显示系统所有资源设备(CPU、内存、磁盘)的运行状况.
Ø -u:显示系统所有CPU在采样时间内的负载状态.
Ø -P:显示当前系统中指定CPU的使用情况.
Ø -d:显示系统所有硬盘设备在采样时间内的使用状况.
Ø -r:显示系统内存在采样时间内的使用状况.
Ø -b:显示缓冲区在采样时间内的使用情况.
Ø -v:显示进程、文件、I节点和锁表状态.
Ø -n:显示网络运行状态.参数后面可跟DEV、EDEV、SOCK和FULL.DEV显示网络接口信息,EDEV显示网络错误的统计数据,SOCK显示套接字信息,FULL显示三个所有的信息.它们可以单独或者一起使用.
Ø -q:显示了运行队列的大小,它与系统当时的平均负载相同.
Ø -R:显示进程在采样时间内的活动情况.
Ø -y:显示终端设备在采样时间内的活动情况.
Ø -w:显示系统交换活动在采样时间内的状态.
l -o filename:表示将命令结果以二进制格式存放在文件中,f |