180 条记录
15 私有链接
15 私有链接
cpu_test.sh
#!/bin/bash
# 获取 CPU 核心数
CPU_COUNT=$(nproc)
# 定义一个数组存储进程 ID
declare -a PIDS
# 计算密集型任务(无限循环计算)
cpu_stress() {
while :; do :; done
}
echo "开始逐步激活 CPU 核心..."
# 逐个核心启动计算任务
for ((i=1; i<=CPU_COUNT; i++)); do
cpu_stress & # 后台运行计算任务
PIDS+=($!) # 记录进程 ID
echo "已激活 ${i} 个核心..."
sleep 1 # 每秒增加一个核心
done
echo "CPU 已全部占满,保持 5 秒..."
# 维持 CPU 满载 5 秒
sleep 5
echo "开始逐步释放 CPU 核心..."
# 逐个终止计算任务
for ((i=CPU_COUNT-1; i>=0; i--)); do
kill ${PIDS[i]}
unset PIDS[i]
echo "已释放 ${CPU_COUNT-i} 个核心..."
sleep 1 # 每秒释放一个核心
done
echo "所有 CPU 核心已释放,脚本结束。"