1 消耗CPU
命令行:
/bin/bash -c while :; do echo >/dev/null; done &
执行多次,消耗多核。
脚本:
#!/bin/bash
# Example:
# sh cpu_consumer.sh
# sh cpu_consumer.sh 2
# sh cpu_consumer.sh stop
loop_consumer="while :; do echo >/dev/null; done &"
if [[ $# > 2 ]]; then
echo "USAGE: $0 [stop]"
exit 1;
elif [[ $1 == *[0-9]* ]]; then
cpunum = $1
elif [[ $1 = "stop" ]]; then
ps -ef | grep "$loop_consumer" | grep -v grep | kill -9 `awk '{print $2}'`
else
cpunum=`cat /proc/cpuinfo | grep processor | wc -l`
fi
for i in `seq ${cpunum}`
do
/bin/bash -c "$loop_consumer"
done
2 消耗CPU
模拟cpu满负荷:
cat /dev/urandom | md5sum &
Linux中的随机数可以从两个特殊的文件中产生,一个是/dev/urandom.另外一个是/dev/random。后者在不能产生新的随机数时会阻塞程序,而前者不会(ublock),当然产生的随机数效果就不太好了,这对加密解密这样的应用来说就不是一种很好的选择。
生成随机数:
root@node101:~# head -n1 /dev/urandom | md5sum
a6040a8270034af372a8cb17ce8a1ffe -
root@node101:~# head -n1 /dev/urandom | md5sum | head -c32
216cb34ce5bd6cb704743f303efcdda9