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"


    推荐阅读