转:linux终端命令使用cpu负载到100

for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done


说明:

cat /proc/cpuinfo |grep "physical id" | wc -l 可以获得CPU的个数, 我们将其表示为N.

seq 1 N 用来生成1到N之间的数字

for i in `seq 1 N`; 就是循环执行命令,从1到N

dd if=/dev/zero of=/dev/null 执行dd命令, 输出到/dev/null, 实际上只占用CPU, 没有IO操作.

由于连续执行N个(N是CPU个数)的dd 命令, 且使用率为100%, 这时调度器会调度每个dd命令在不同的CPU上处理.

最终就实现所有CPU占用率100%


另外,上述程序的结束可以使用:

1. fg 后按 ctrl + C (因为该命令是放在后台执行)

2. pkill -9 dd

 

shell消耗内存

以前有过[shell消耗cpu][1]的文章,再记录一个shell消耗内存代码。

 
  1. #!/bin/bash  
  2. mkdir /tmp/memory  
  3. mount -t tmpfs -o size=1024M tmpfs /tmp/memory  
  4. dd if=/dev/zero of=/tmp/memory/block  
  5. sleep 3600  
  6. rm /tmp/memory/block  
  7. umount /tmp/memory  
  8. rmdir /tmp/memory  

用tmpfs文件系统占用内存一个小时

 

posted @ 2020-08-29 18:40  by2018  阅读(492)  评论(0编辑  收藏  举报