You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Bash命令生成占用低于1核的CPU负载峰值

原生stress的CPU压测逻辑是跑死循环做运算,默认会把分配到的CPU核心完全占满,本身没有内置按比例控制CPU使用率的参数,要实现10%单核(即100毫核)的负载,推荐两种稳定可用的方案:

方案1:用增强版工具stress-ng(最简便)

stress-ng是stress的功能增强版本,原生支持指定CPU负载比例,直接执行对应命令即可:

stress-ng --cpu 1 --cpu-load 10 --timeout 5s

参数说明:

  • --cpu 1:启动1个CPU压测工作进程
  • --cpu-load 10:控制每个工作进程占用所在CPU核心的10%算力,误差通常在1%以内,刚好匹配100毫核的需求
  • --timeout 5s:压测持续5秒后自动退出
方案2:原生stress + cgroup配额限制(无需额外装工具)

如果环境里不方便安装stress-ng,可以用Linux内核自带的cgroup CPU配额能力,强制限制stress进程的CPU使用占比,以cgroup v2环境为例操作如下:

# 创建临时cgroup控制组
mkdir /sys/fs/cgroup/cpu_limit_10pct
# 配置CPU配额:每100ms的调度周期内,进程最多可使用10ms CPU时间,即10%单核算力
echo "10000 100000" > /sys/fs/cgroup/cpu_limit_10pct/cpu.max
# 后台启动stress压测
stress --cpu 1 --timeout 5s &
# 将stress进程PID加入控制组生效
echo $! > /sys/fs/cgroup/cpu_limit_10pct/cgroup.procs

这个方案是内核层面做的调度限制,精度很高,压测结束后删掉临时创建的cgroup目录即可。

不推荐用「死循环运算+sleep延时」的土方法实现,这类方式的实际负载受CPU性能、系统调度延迟影响极大,波动范围能到30%以上,测试结果没有参考价值。

内容的提问来源于stack exchange,提问作者Pradeep Padmanaban C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 13:19:05