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.65Tasks: 153 total, 10 running, 143 sleeping, 0 stopped, 0 zombieCpu(s):98.8% us, 1.2% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% siMem: 5120132k total, 4789128k used, 331004k free, 53176k buffersSwap: 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资源