2023年5月9日星期二

Linux底下,一個控制CPU Loading的 Open Source tool,cpulimit (Tool使用方式)

 此篇直接介紹 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 &

=======================

沒有留言:

發佈留言

使用 lsblk 印出 emmc 每個 partition的"名字"與"size"

使用以下的command可以印出 eMMC的 partition資訊 lsblk --bytes --output name,partlabel,size   參數說明 --bytes: partition的大小,以byte的方式輸出 --output: 後面可以指定要輸出的內容...