linux下模拟CPU占用100%小程序

在做一个测试时,需要模拟服务器CPU占用满的情况,在查阅相关资料后,发现网上程序不太好用,

原文在这:http://www.2cto.com/os/201304/202068.html

优化后如下:

#! /bin/sh
# filename killcpu.sh
if [ $# -ne 1 ] ; then
  echo "USAGE: $0 <CPUs>|stop"
  exit 1;
fi

stop()
{
 while read LINE
  do
    kill -9 $LINE
    echo "kill $LINE sucessfull"
  done < pid.txt
 cat /dev/null > pid.txt
}

start()
{
  echo "u want to cpus is: "$1
  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 ‘pid is: ‘ $i ‘;‘;
  echo $i >> pid.txt
done
}

case $1 in
   stop)
    stop
  ;;
   *)
   start $1
;;
esac

运行方式:

启动:./killcpu.sh 1

停止:killcpu.sh stop

时间: 2024-12-27 23:10:00

linux下模拟CPU占用100%小程序的相关文章

Linux jstack分析cpu占用100%

背景: 运行测试程序后,top命令发现某个进程(pid)占用cpu达到100%. 查看哪个线程占用最多资源: ps mp pid -o THREAD,tid,命令查看这个进程下面的所有线程占用情况. 发现线程324占用最多. 使用jstack进行跟踪: jstack pid 进行查看输出到临时文件 jstack 324> test 将刚刚发现占用cpu最多的线程id(324)换算成16进制,324==>144 查看jstack 生成的文件: 下面可以看出是哪行代码导致,查看那行代码发现有死循环

Linux下创建shell、C小程序介绍

1.创建一个shell脚本文件 gedit  hello_shell.sh  ##创建文件 2.###在文件内添加一下内容 #!/bin/bash for  ((i=0;i<10;i++));do echo   "hello shell" done exit 0 3.为文件添加可执行权限 chmod 755 hello_shell.sh 4.执行脚本 ./hello_shell.sh ###创建一个C语言程序"hello world" 1.gedit  hel

w3wp.exe(IIS ) CPU 占用 100% 的常见原因及解决办法

对于IIS 管理员来说,经常会碰到 Web 服务器 CPU 占用 100% 的情况,以下是个人的日常工作总结和一些解决办法,主要用来剖析 w3wp.exe(IIS )  占用 CPU 100% 的一些原因 和解决方案,希望能对你有所帮助 w3wp.exe的解释 : 全名,IIS Application Pool Process. w3wp.exe是IIS工具的一部.w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe

Linux下调节CPU使用的几种方法

一,使用taskset充分利用多核cpu,让cpu的使用率均衡到每个cpu上 #taskset-p,    设定一个已存在的pid,而不是重新开启一个新任务-c,    指定一个处理,可以指定多个,以逗号分隔,也可指定范围,如:2,4,5,6-8. 1,切换某个进程到指定的cpu上taskset -cp 3 13290 2,让某程序运行在指定的cpu上taskset -c 1,2,4-7 tar jcf test.tar.gz test 需要注意的是,taskset -cp 3 13290在设定

Web API的CPU占用100%

我用Web API做了一个网站,网站很简单,请求就是几个普通的参数,提交到服务器后,在Web API里做一下参数验证,然后去访问Redis里的TIME命令,最后把TIME命令返回的结果计算出yyyy-MM-dd HH:mm:ss的形式,返回JSON格式.每秒请求数:1500次.CPU占用100%内存和IO都比较低. CPU:E5800 内存:4G+2G 硬盘:普通蓝盘500G各位,有人遇到过这样的情况吗? ---------------------------------------------

Linux下使用pdb简单调试python程序

python自带调试工具库:pdb # -*- coding:utf-8 -*- def func(num): s = num * 10 return s if __name__ == '__main__': print 'debug starting...' print '*' * 10 print 'debug ending-' num = 100 s = func(num) print s 在python文件中不引用pdb库,可以在执行python文件的时候,加上参数: python -m

sql数据库cpu占用100问题查询

转载    原作者  xunziji SQL Server Cpu 100% 的情况并不太常见,一般引起 SQL Server 产生性能问题的,都是 阻塞.连接数.IO 磁盘等.所以,一般SQL Server 的使用率都是比较低的.但是,在有些情况下,还是会出现Cpu 100%的情况的. SQL Server 在做哪些操作的时候,会比较集中使用 CPU 资源呢?常见的主要如下: 常见的原因: 1. 编译和重编译 编译是 SQL Server 为指令生成执行计划的过程.SQL Server 要分析

linux下安装codeblocks及写完程序之后编译成功但无法运行的原因

一:在软件中心输入codeblocks,然后点击安装,等着装完就行了. 再按ctrl+alt+t 打开终端 输入 sudo apt-get install gcc 而后再输入sudo apt-get install g++ 最后打开codeblocks写个 helloworld 试试吧. 二:helloworld小程序写完后,也编译通过了,但是却无法运行,那么你再看看保存的地方吧,要是不是保存在linux下的文档了,而是保存在磁盘里的话就是造成不能运行的结果了,更改保存位置试试看呗. 以上仅是我

linux下查看进程占用端口和端口占用进程命令

Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端口号:netstat -anp|grep pid Linux下查看端口号所使用的进程号: 使用lsof命令: lsof –i:端口号