一条命令让CPU嗨起来

2022-09-19 14:13:22 浏览数 (2)

记录用一条命令使CPU瞬间拉满到100%

# 命令

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

# 效果

代码语言:javascript复制
[root@summer ~]# for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done
[1] 12701
[root@summer ~]# top
top - 15:31:52 up 66 days,  1:27,  1 user,  load average: 0.72, 0.23, 0.17
Tasks:  80 total,   2 running,  78 sleeping,   0 stopped,   0 zombie
%Cpu(s): 32.3 us, 67.7 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1882232 total,    75960 free,   400968 used,  1405304 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1275984 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME  COMMAND                                                                                                                                                                                       
12701 root      20   0  107996    612    520 R 99.3  0.0   0:10.31 dd                                                                                                                                                                                            
14956 root      10 -10  150028  24964   5836 S  0.7  1.3 451:05.52 AliYunDun      

# 说明

  • cat /proc/cpuinfo |grep "physical id" | wc -l 获得CPU的个数
  • seq 1 N 有几个CPU生成几个数字
  • 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

0 人点赞