All things are difficult before they are easy. 没有软件的裸机是一具僵尸,没有硬件的软件是一个幽灵。2012,专注于Linux和C语言,关注自动化、性能测试,关注开源社区和开源测试工具、方法,尝试测试团队管理!

Shell消耗CPU的脚本-实例讲解

上一篇 / 下一篇  2011-01-11 16:43:23 / 个人分类:Shell

在水木上看到有同学问,怎样用shell脚本消耗机器的CPU。首先想到的还是使用死循环消耗CPU资源。Google了一下网上的资料,略作修改并实践了一下。总结如下:
本脚本,如果服务器是有多颗CPU,可以选择消耗多少颗CPU的资源;使用方法很简单,参数8表示消耗8颗CPU的资源,运行后,会有一堆 kill 命令,运行这些命令即可kill掉死循环进程。
#! /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
运行命令:./killcpu.sh 8
输出:kill  20926 ;
kill  20928 ;
kill  20930 ;
kill  20932 ;
kill  20934 ;
kill  20936 ;
kill  20938 ;
kill  20940 ;
用top看资源消耗如下:
top - 00:46:27 up 336 days,  4:20, 24 users,  load average: 4.52, 1.35, 0.65
Tasks: 153 total,  10 running, 143 sleeping,   0 stopped,   0 zombie
Cpu(s):98.8% us,  1.2% sy,  0.0% ni,  0.0% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   5120132k total,  4789128k used,   331004k free,    53176k buffers
Swap:  2096440k total,   333412k used,  1763028k free,   669692k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                         
20928 admin     25   0  5492 1012  892 R 99.6  0.0   0:40.22 bash                                                                            
20930 admin     25   0  4668 1012  892 R 99.6  0.0   0:41.38 bash                                                                            
20926 admin     25   0  5492 1012  892 R 98.9  0.0   0:42.44 bash                                                                            
20932 admin     25   0  4640 1016  892 R 98.9  0.0   0:42.25 bash                                                                            
20936 admin     25   0  4820 1016  892 R 98.9  0.0   0:42.61 bash                                                                            
20938 admin     25   0  4536 1016  892 R 98.3  0.0   0:39.74 bash                                                                            
20940 admin     25   0  6184 1016  892 R 98.3  0.0   0:42.15 bash                                                                            
20934 admin     25   0  6260 1016  892 R 97.6  0.0   0:42.21 bash
参考资料:http://www.cnblogs.com/killkill/archive/2010/09/08/1821496.html

TAG: Linux linux shell Shell cpu资源

yinxiaodan的个人空间 引用 删除 yinxiaodan   /   2012-07-18 15:37:47
5
引用 删除 bennannan   /   2012-03-22 15:15:16
成功了
引用 删除 bennannan   /   2012-03-22 15:15:11
3
 

评分:0

我来说两句

smile665

smile665

Stay hungry, stay foolish. 得意之时谨记,一半命运还掌握在上帝手里;失意之时须知,一半命运还掌握在自己手里。

日历

« 2024-10-14  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 977572
  • 日志数: 220
  • 建立时间: 2008-11-06
  • 更新时间: 2012-10-06

RSS订阅

Open Toolbar