搜索结果

×

搜索结果将在这里显示。

🚦 使用stress服务进行CPU和内存压力测试

测试CPU
启动命令 这样填写压力参数,用以达到CPU的30%的压力

/usr/bin/stress --cpu 20 --io 4 --vm 2 --vm-bytes 128M

对内存进行压力测试
在后台stress容器内执行这个命令测试内存:

stress  --vm 10  --vm-bytes  500M  --vm-keep

表示运行10个进程,每个进程分配500M内存

一、安装stress服务

1、下载stress_1.0.1.orig.tar.gz安装包

2、解压tar xvf stress_1.0.1.orig.tar.gz

3、进入解压目录执行./configure

4、make

5、make check

6、make install

7、make clean

二、安装sysstat服务

1、下载sysstat-11.5.6.tar.gz安装包

2、解压tar xvf sysstat-11.5.6.tar.gz

3、进入解压目录执行./configure

4、make & make install

三、测试CPU密集型进程

1、在第一个终端输入以下命令:stress --cpu 1 --timeout 600

2、在第二个终端输入watch -d uptime实时查看平均负载的变化情况:

3、在第三个终端运行mpstat查看CPU使用率的变化情况:在第二个终端可以看到,1分钟的平均负载会慢慢增加到1.00,而从第三个终端可以看到正好有一个CPU的使用率为100%,但是它的iowait只有0。说明平均负载的升高正是由于CPU使用率为100%。

4、使用pidstat查看是哪个进程导致CPU使用率为100%,可以看到,PID为3938的stress进程导致CPU使用率为100%。

四、模拟大量进程

1、在第一个终端输入以下命令:stress -c 16 --timeout 600

2、在第二个终端输入watch -d uptime实时查看平均负载的变化情况:由于系统只有4个CPU,明显比16个进程要少,因而系统的CPU处于严重过载的状态,平均负载高达16.05

3、接着再运行pidstat看下进程的情况:可以看出,16个进程在争抢4个CPU,每个进程等待CPU的时间(上面的%wait列)高达70%多。超出CPU计算能力,最终导致CPU过载。

转载自:https://juejin.cn/post/6986822143656853511 https://www.cnblogs.com/xiaoxitest/p/10153185.html