1. ホーム
  2. スクリプト・コラム
  3. リナックスシェル

シェルでCPUを占有するスクリプトをlinuxで書く方法

2022-01-05 07:38:47

利用シーン

より便利な自分の仕事のための会社の仮想マシンリソースに適用され、小さい基盤を占有するため、オフリサイクルするように頼まれ、今、CPUはいくつかのフルを実行できるようにスクリプトを記述します。

最初に論理CPUの総数を見る

cat /proc/cpuinfo |grep "processor"|wc -l



上では4になっていますが、私は2をフルに使っています。

スクリプトは以下の通りです。

#! /bin/bash
# filename killcpu.sh
endless_loop()
{
echo -ne "i=0;
while true
do
i=i+100;
i=100
done" | /bin/bash &
}
if [ $# ! = 1 ] ; then
echo "USAGE: $0 <CPUs>"
exit 1;
fi
for i in `seq $1`
do
endless_loop
pid_array[$i]=$! ;
done
for i in "${pid_array[@]}"; do
echo 'kill ' $i ';';
done


useの後に追加されたパラメータは、フル稼働させる必要のある論理CPUの数で、ここでは2個を稼働させています。


スクリプト実行後、上の画像の左側が2CPUでフル稼働していることを監視していることがわかると思います

このスクリプトは、各CPUに対応する2つのプロセス番号を自動的に出力します。

後、TOPで占有率の高いPID番号を見て、以下のように手動でkillを行うこともできます〜。


プロセスを終了させる

この記事では、シェルLinuxでCPUを占有するスクリプトの書き方について紹介します。もっと関連するシェルCPU占有スクリプトについては、Script Houseの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。