sh写一个提高cpu和内存使用率的脚本
时间: 2023-10-13 21:05:01 浏览: 48
可以使用以下脚本来提高CPU和内存使用率:
```shell
#!/bin/bash
# 运行时间(秒)
RUN_TIME=60
# CPU 占用百分比
CPU_USAGE=50
# 内存占用百分比
MEM_USAGE=50
# 获取当前时间戳
START_TIME=$(date +%s)
# 定义函数:占用 CPU 和内存
function stress_cpu_mem {
# 计算占用 CPU 的时间(秒)
CPU_TIME=$(echo "${RUN_TIME} * ${CPU_USAGE} * 0.01" | bc)
# 计算占用内存的大小(MB)
MEM_SIZE=$(echo "${MEM_USAGE} * 0.01 * $(free -m | awk '/^Mem:/{print $2}')" | bc | awk '{printf "%.0f\n", $1}')
# 输出占用 CPU 和内存的信息
echo "Starting CPU and Memory stress test:"
echo " - CPU usage: ${CPU_USAGE}% for ${CPU_TIME} seconds"
echo " - Memory usage: ${MEM_USAGE}% (${MEM_SIZE} MB)"
# 启动占用 CPU 和内存的进程
(while [ $(($(date +%s) - ${START_TIME})) -lt ${CPU_TIME} ]; do :; done) &
awk -v n=${MEM_SIZE} \
'BEGIN {for (i = 0; i < n * 1024 * 1024 / 8; i++) {a[i] = i}} \
{while (1) {for (i = 0; i < n * 1024 * 1024 / 8; i++) {a[i] += 1}}}' &
}
# 执行函数
stress_cpu_mem
# 等待占用 CPU 和内存的进程执行完成
wait
# 输出完成信息
echo "CPU and Memory stress test completed."
```
此脚本会占用指定百分比的CPU和内存,持续一段时间(默认为60秒),可以通过修改`CPU_USAGE`和`MEM_USAGE`变量来改变占用百分比,通过修改`RUN_TIME`变量来改变运行时间。