天天看點

消耗CPU資源的shell腳本

使用死循環消耗CPU資源,如果伺服器是有多顆CPU,可以選擇消耗多少顆CPU的資源。

代碼:

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


for i in "${pid_array[@]}"; do
  echo 'kill ' $i ';'; 
done
           

使用方法:

參數3表示消耗3顆CPU的資源,運作後,會有一堆 kill 指令,友善 kill 程序:

[[email protected] ~]# ./killcpu.sh 3 
kill  30104 ; 
kill  30106 ; 
kill  30108 ; 
[[email protected] ~]# top  
top - 15:27:31 up 264 days, 23:39,  4 users,  load average: 0.86, 0.25, 0.19 
Tasks: 185 total,   5 running, 180 sleeping,   0 stopped,   0 zombie 
Cpu0  : 100.0% us,  0.0% sy,  0.0% ni,  0.0% id,  0.0% wa,  0.0% hi,  0.0% si 
Cpu1  :  0.0% us,  0.0% sy,  0.0% ni, 100.0% id,  0.0% wa,  0.0% hi,  0.0% si 
Cpu2  : 100.0% us,  0.0% sy,  0.0% ni,  0.0% id,  0.0% wa,  0.0% hi,  0.0% si 
Cpu3  : 100.0% us,  0.0% sy,  0.0% ni,  0.0% id,  0.0% wa,  0.0% hi,  0.0% si 
Mem:   8165004k total,  8095880k used,    69124k free,    53672k buffers 
Swap:  2031608k total,   103548k used,  1928060k free,  6801364k cached
           

更多shell的内容,請參考 shell腳本程式設計中的相關内容。

繼續閱讀