图片

在linux系统环境的测试开发过程中,我们常常需要评估系统性能,尤其在性能测试工作中,我们需要通过系统资源的监控,从而分析定位系统的性能瓶颈。


首先,我们要知道从哪些维度来评估系统的性能好坏:

  1. CPU利用率及负载

  2. 内存利用率

  3. 磁盘I/O利用率

  4. 网络利用率


如何监控上述系统资源的使用情况,有哪些常用的命令和工具呢。下面,就给大家罗列几个工作最常用的性能监控命令及工具,希望能对大家的工作有帮助。



1. vmstat

全称是Virtual Meomory Statistics(虚拟内存统计),对linux内存、进程及CPU活动进行监控,只能对系统整体情况进行统计。

图片

常用参数:

  • -s:显示内存相关统计信息,

  • -a:显示活跃和非活跃内存

  • -d:显示磁盘相关统计信息

  • -t:显示时间

2.top

top是一个功能强大的性能监控工具,是linux使用者最常使用系统命令,作用类似于windows系统的任务管理器。能够实时监控系统的运行状态,主要显示系统中各个进程的资源使用情况,并根据cpu及内存等进行排序。

图片

常用参数:

  • -d:设定刷新时间

  • -p:指定进程

3.iostat

I/O(输入输出)统计,对系统磁盘进行监控,输出磁盘读写的统计信息,只能进行整体分析。

图片

常用参数

  • -c:显示CPU的使用情况

  • -d:显示磁盘的使用情况

4.netstat

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,检验本机各端口的网络连接情况。

图片

常用参数:

  • -a:显示所有连接socket信息。

  • -t:显示所有TCP连接信息

  • -u:显示所有UDP连接信息

  • -p:显示socket所属进程的PID和名称

5.sar

sar系统活动情况报告(System Activity Reporter)是一个非常全面的系统监控命令,可以获取系统的CPU、内存、进程活动,系统调用等信息。

图片

常用参数:

  • -u:显示所有CPU在采样时间内的负载状态

  • -r:输出内存和交换空间的统计信息

  • -b:采样时间内缓冲区的使用情况

  • -n:显示网络运行状态

  • -d:硬盘设备在采样时间的使用情况

  • -q:运行队列的大小

6.nmon

nmon是一款计算机性能系统监控工具,因为它免费,体积小,安装简单,耗费资源低,广泛应用于AIX和Linux系统。需要单独安装,网上有很多安装的过程,这里就不多说了。

输入nmon后,可以使用如下命令:

  • c:显示CPU的信息

  • m:内存信息

  • n:系统网络信息

  • d:磁盘信息

  • t:系统的进程信息

图片

常用参数:

  • -s:每隔n秒抽样一次

  • -c:取多少个抽样数量

  • -f:按标准格式输出文件名称YYMMDD_HHMM.nmon

  • -m:指定统计文件的保存目录

nmon-s1-c60-f-m/home/nmon

使用nmonanalyser可以把nmon采集的数据生成直观的Excel图表,如下:

图片


7.dstat

多功能系统资源统计生成工具,需要单独安装。集成了vmstat,iostat和ifstat三种命令的功能,输出带颜色的信息,更加清晰的显示系统的整体运行情况。

图片

常用参数:

  • -c:显示CPU系统占用

  • -d:显示磁盘读写数据大小。

  • -n:显示网络状态。

  • -m:显示内存使用情况。

  • -p:显示进程状态。

  • -s:显示交换分区使用情况。

  • -r:I/O请求情况。


一般使用按照如分类,进行性能工具选取,有时候需要几个命令配合使用,在使用命令选择上大家可以参考下图。图片


-End-


图片