性能测试-性能指标监控命令详细实战

前言

性能监控命令:MEMORY

首先说说虚拟内存和物理内存:
虚拟内存就是采用硬盘来对物理内存进行扩展,将暂时不用的内存页写到硬盘上而腾出更多的物理内存让有需要的进程来用。

当这些内存页需要用的时候在从硬盘读回内存。这一切对于用户来说是透明的。通常在Linux系统说,虚拟内存就是swap分区。

在X86系统上虚拟内存被分为大小为4K的页。

每一个进程启动时都会向系统申请虚拟内存(VSZ),内核同意或者拒就请求。当程序真正用到内存时,系统就它映射到物理内存。RSS表示程序所占的物理内存的大小。用ps命令我们可以看到进程占用的VSZ和RSS。

在命令行使用“Free”命令可以监控内存使用情况

输出的含义

A3

top:
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:

pmap:

pmap -d 1878

ps:

ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'

其中rsz是是实际内存

ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep root| sort -nrk5

找到具体进程消耗cpu情况:

ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep 16685

上述信息分析,进程ID为16685的Java进程正在运行,并且其CPU使用率为2.0%。它的物理内存占用大小为2347976KB(2296M),虚拟内存占用大小为5751812KB(5616M)。

找出消耗内存最多的前10名进程:

ps -auxf | sort -nr -k 4 | head -10

性能监控命令 | IO and NETWORK

IO
监控IO的常用命令为iostat

iostat -x

io相关的参数含义

A6

备注:
重点关注: rkB/s wkB/s两个指标(每s读取速度:103.88 每s写入速度:70.81)

性能监控命令 | CPU

Cpu风险诊断
1、Cpu关键性能指标
CPU负载;
CPU利用率;

CPU利用率。当%CPU≥50%时,需要引起注意;当%CPU≥70%时,就 需要密切关注了,如果是测试,此时需要分析原因;

当%CPU≥90% 时,就处于危险状态,此状态不应该成为一个常态,在测试时就 必须分析原因了。

负载(load average),当load average>CPU核心数 1时,工作 负载已经比较重了,需要分析原因;当load average>CPU核心数 2时,已经是高负载,需要排查原因。

2、定位方法
如下方式来分析CPU的性能问题。
找到CPU利用率大的进程;
找到这个进程中占CPU大的线程;
得到当前线程的栈信息(线程快照);
分析程序执行过程;

案例:
模拟CPU使用率100%的场景:stress --cpu 1 – timeout 600;
命令行,输入top并按1查找linux最大进程;

找到最大进程的PID为5649
命令行,top –Hp 5649 找到这个进程中占CPU大的线程(如果有,如JVM中)

得到当前线程的栈信息 jstack -l PID >./log并导出

其他命令:
ps:
找出使用CPU最多的前10名进程:

ps -auxf | sort -nr -k 3 | head -10

uptime:查看系统平均负载情况,watch -d 参数表示高亮显示变化的区域:watch -d uptime 

mpstat 查看 CPU 使用率的变化情况:mpstat -P ALL 5

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值