设置(ctrl ,)
@ext:ms-vscode.cpptools cpu
限制脚本
cpu.sh
#!/bin/bash
# 定义检查间隔时间(秒)
INTERVAL=10
# 定义 CPU 使用率阈值
THRESHOLD=100
# 定义 cpulimit 的限制值
LIMIT=30
# 循环检查
while true; do
# 获取 cpptools 的 PID 和 CPU 使用率
PID_CPU_USAGE=$(ps -eo %cpu,pid,comm | grep cpptools |sort -r| awk '{if ($2 > 40) print $1 " " $2}')
# 检查是否有输出
if [ ! -z "$PID_CPU_USAGE" ]; then
# 读取 PID 和 CPU 使用率
read CPU_USAGE PID <<< "$PID_CPU_USAGE"
# 检查 CPU 使用率是否大于阈值
if (( $(echo "$CPU_USAGE > $THRESHOLD" | bc -l) )); then
echo "PID $PID 的 CPU 使用率 $CPU_USAGE 超过 $THRESHOLD%,正在限制 cpulimit..."
# 执行 cpulimit 命令
cpulimit -p $PID -l $LIMIT
else
echo "PID $PID 的 CPU 使用率 $CPU_USAGE 未超过 $THRESHOLD%,无需限制"
fi
else
echo "未找到 CPU 使用率超过 $THRESHOLD% 的 cpptools 进程"
fi
# 等待一段时间再次检查
sleep $INTERVAL
done