在linux系统环境的测试开发过程中,我们常常需要评估系统性能,尤其在性能测试工作中,我们需要通过系统资源的监控,从而分析定位系统的性能瓶颈。
首先,我们要知道从哪些维度来评估系统的性能好坏:
-  CPU利用率及负载 
-  内存利用率 
-  磁盘I/O利用率 
-  网络利用率 
如何监控上述系统资源的使用情况,有哪些常用的命令和工具呢。下面,就给大家罗列几个工作最常用的性能监控命令及工具,希望能对大家的工作有帮助。
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请求情况。 
一般使用按照如分类,进行性能工具选取,有时候需要几个命令配合使用,在使用命令选择上大家可以参考下图。

最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!【100%无套路免费领取】

软件测试面试小程序
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!
8小时传疯!大厂面试真题全被大佬整理在这个小程序上了!【软件测试,建议收藏】
涵盖以下这些面试题板块:
1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux
6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础




















