Linux下使用压力测试工具stress
一:stress的安装
首先解压安装包到/usr/local/src/下
mv stress-1.0.4.tar.gz /usr/local/src
?
tar -zxf stress-1.0.4.tar.gz
直接进入目录,开始编译安装:
cd stress-1.0.4/
?
./configure
?
make && make install
查看当前版本:
stress --version
【Linux下使用压力测试工具stress】
二:开始压力测试
1.针对CPU:如果是单核cpu则会压满,使用top命令可看出达到100%
stress --cpu 1
如果是4核,使用top命令则会发现cpu使用率达到25%
2.针对内存:先 free -h 查看内存大小,再使用如下命令增加内存:
stress -i 4 --vm 3 --vm-bytes 4G --vm-hang 100
这样就达到新增三个进程,每个进程占用4G的内存的效果了。
三:通过脚本后台压测
使用nohup运行将输出丢到日志,后台运行
#!/bin/bash
echo "start"
nohup `stress --cpu 1` > test.log 2>1 &
nohup `stress -i 4 --vm 5 --vm-bytes 1G --vm-hang 100` > test1.log 2>1 &
echo "end"
结束压测方法:可以在stress命令中加-t或--timeout后接秒数,也可以ps -ef | grep stress查出并杀死进程
四:结合工具Cpulimit来限制cpu想达到的使用率百分比
安装cpulimit:(具体位置无要求)
tar -zxf cpulimit-1.1.tar.gz
cd cpulimit-1.1/
make
cp cpulimit /usr/sbin/
接着就可以使用命令了
-p:根据pid进程号限制cpu使用率
-l:限制到百分之多少
我们以此来优化脚本:
#!/bin/bash
echo "start"
nohup `stress --cpu 1` > test.log 2>1 &
echo "正在限制cpu占用率"
sleep 2
pids=$(pidof stress)
echo "Stress pids $pids"
?
for pid in $pids
do
echo "Set limit for pid $pid"
cpulimit -p $pid -l 45 > test2.log 2>1 &
done
?
nohup `stress --cpu 3` > test.log 2>1 &
?
nohup `stress -i 4 --vm 2 --vm-bytes 7G --vm-hang 100` > test1.log 2>1 &
echo "end"
推荐阅读
- 一点就分享系列|一点就分享系列(理解篇5)补更必看(SwintransformerV2.0版本的改进以及使用理解(上篇))
- 悲报, GIF 之父因新冠去世
- 京东一面(说说 CompletableFuture 的实现原理和使用场景(我懵了。。))
- stm32|如何使用STM32F1/F4驱动CS5463
- Centsos7 安装Docker 及使用过程
- k8s使用volume将ConfigMap作为文件或目录直接挂载_《蹲坑学kubernetes》之17-19(ConfigMap)
- centos8|centos8 安装docker_Centos8下安装docker
- k8s使用volume将ConfigMap作为文件或目录直接挂载_ConfigMap用管理对象的方式管理配置...
- 数据结构|回顾下接雨水问题
- 机器使用成本下降|机器使用成本下降 50%,TDengine 在同程旅行基础监控中的实践