Linux下使用壓力測試工具stress

小枝、發表於2022-03-30

一: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

 

二:開始壓力測試

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"

 

相關文章