此篇直接介紹 cpulimit 該如何使用,讓我們做stress-test 可以直接指定想要的CPU Loading
先假設我們的設備為 雙核心(dual-core)的device
我們先撰寫一個loop的shell script,這個script可以把一個CPU使用率,占用到100%
====== loop_1.sh ======
#!/bin/sh
while [ 1 ]
do
echo 5566 > /dev/null
done
====================
上面這個簡單的小程式,就可以占用100%的一個CPU使用率
所以如果是雙核心的device,很簡單,我們就再搞一個loop script
====== loop_2.sh ======
#!/bin/sh
while [ 1 ]
do
echo 5566 > /dev/null
done
====================
接著我們再去撰寫一個主要的shell script,可以帶起 loop_1.sh 與 loop_2.sh
並且會去使用 cpulimit 去限制這兩個 loop程式的 cpu 使用率
進而達到我們想要維持的 CPU 使用率
====== cpuload.sh =======
#!/bin/sh
if [ "$#" -lt "1" ]; then
echo "ex: ./cpuload.sh 40 (limit at 40%)"
exit
fi
VAL=$1
killall loop_1.sh loop_2.sh
./loop_1.sh &
L1=`ps | grep loop_1.sh | awk -F ' ' '{print $1}'` #get pid
./loop_2.sh &
L2=`ps | grep loop_2.sh | awk -F ' ' '{print $1}'` #get pid
./cpulimit --limit=$VAL --pid=$L1 &
./cpulimit --limit=$VAL --pid=$L2 &
=======================