====================================================================
-
这个脚本功能如下【这个脚本不难,代码就不做解释了】
-
1、想占用多少颗CPU【被占用的cpu使用率会是100%】
-
2、占用多长时间【单位是秒】
-
3、占用时间到达以后,会自动kill掉相关进程【如果提前结束,需要手动结束占用进程】
[root@centos-73-iso-100g-test ~]# lscpu | grep CPU(s):
CPU(s): 8
NUMA node0 CPU(s): 0-7
[root@centos-73-iso-100g-test ~]#
[root@centos-73-iso-100g-test ~]# cat cpu.sh
#!/bin/bash
rm -rf /root/file.txt
endless_loop()
{
echo -ne "i=0;
while true ;do
i=i+100;
i=100;done" | /usr/bin/bash &
}
if [ $# != 2 ]; then
echo “USAGE: $0 <cpus,sleep time>”
exit 1;
fi
for i in seq $1
do
endless_loop
pid_array[ i ] = i]= i]=!;
done
for i in “${pid_array[@]}”; do
echo ‘execute: kill’ $i ;
echo ‘kill’ $i >> /root/file.txt
done
echo “If executed ctrl+C,Please execute the above lines manually”
echo “Please wait $2 seconds”
sleep $2
for i in awk '{print $2}' /root/file.txt
; do
echo “kill $i”
kill $i
done
[root@centos-73-iso-100g-test ~]#
- 执行前,重新打开一个窗口,执行
top
并按一下1
,会列出所有cpu的使用率
top - 21:43:41 up 13 min, 3 users, load average: 0.00, 0.01, 0.04
Tasks: 194 total, 1 running, 193 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu5 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu6 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu7 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16267428 total, 15