行业资讯

立即注册 咨询客服

当前位置:首页 > 行业资讯> 让CPU使用率达到100%的方法 压力测试性能

让CPU使用率达到100%的方法 压力测试性能

发布时间:2018年03月22日 15:56:39    来源: A5互联

作为一名IT运维工程师,看到CPU使用率100%时,多少还是有些紧张的,因为我们的使命就是要将CPU使用率给降下来。

但有些时候,还是有需要人为的制造一个CPU使用率为100%的场景,例如测试监控服务器性能触发报警阀值时。今天我们就来人为的制造一次CPU使用率100%的事件。

命令

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

在虚拟机里敲下试试吧。

分析

首先,我们把这一行命令拆分一下,增强下代码的可读性:

#!/bin/bash

N=`cat /proc/cpuinfo | grep "processor" | wc -l`

List=`seq 1 $N`

for i in $List

do

dd if=/dev/zero of=/dev/null

done

下面来解释下每一行吧。

cat /proc/cpuinfo | grep "processor" | wc -l

这条最简单了,获取CPU核数。

seq 1 N

根据N的值生成一个序列。

for i in `seq 1 N`

循环执行命令,从1到N。

dd if=/dev/zero of=/dev/null

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

由于连续执行N个的dd 命令, 且使用率为100%,这时调度器会调度每个dd命令在不同的CPU上处理,最终就实现所有CPU使用率达到100%。

Kill方法

还是要履行下运维的职责,把这个引起CPU使用率100%的进程干掉。

pkill -9 dd