44 lines
1.5 KiB
Bash
Executable File
44 lines
1.5 KiB
Bash
Executable File
#! /bin/bash
|
||
#! -*- coding=utf-8 -*-
|
||
# Author:zhouze03
|
||
# Date: 2017-08-15
|
||
|
||
|
||
#############
|
||
# 该脚本用于测试的目的,测试当有CPU% 已经超过期望的值时(这里由自己决定,比如KG机器希望CPU超50%,那么此值即50)
|
||
# cpu_schedule.sh 的脚本逻辑是否会判断当前检测时刻CPU负载达标,从而不会去启动贪婪进程。
|
||
# 操作&&简而言之:
|
||
# 确定该脚本需要启用多少个贪婪进程,这个需要使用者自己根据CPU的逻辑核数目去计算,
|
||
# 比如48核,在没有任何其它CPU消耗的情况下,需要启用大概 48 * 50% = 24 个贪婪进程(下面脚本固定控制为单CPU逻辑单元使用为 95%)
|
||
# 备注:
|
||
# 视当前测试机器CPU 现有占用百分值去计算。
|
||
# 测试目标:
|
||
# 上述进程确定并启动后,使用htop进行观察,cpu_scheduler 应该判断出当前CPU已经达到指标值,从而它不会启动它要调用的贪婪进程。
|
||
# 目标符合预期则:
|
||
# cpu_scheduler.sh 程序能根据机器CPU自适应的调节贪婪进程的启动数目。
|
||
############
|
||
|
||
|
||
|
||
function fire_greedy_process(){
|
||
for i in `seq 1 22`
|
||
do
|
||
{
|
||
echo "start greedy process "$i
|
||
# 贪婪进程
|
||
./cpulimit -l 95 bash ./test_dead_circle.sh >/dev/null &
|
||
}
|
||
done
|
||
}
|
||
|
||
FLAG=0
|
||
|
||
while true
|
||
do
|
||
if [ $FLAG -eq 0 ]; then
|
||
echo "FLAG="$FLAG
|
||
fire_greedy_process
|
||
FLAG=1
|
||
fi
|
||
|
||
done |