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

如何限制cargo run时rustc的CPU占用率?

如何限制rustc的CPU使用率?

问题描述

执行cargo run时,rustc默认会占用全部CPU资源,尝试用cpulimit -l 40限制cargo进程,但rustc子进程仍会占用100%的CPU。

环境信息

  • Fedora release 40 (Forty),内核版本:6.9.7-200.fc40.x86_64 #1 SMP PREEMPT_DYNAMIC
  • rustc 1.79.0 (129f3b996 2024-06-10)
  • cargo 1.79.0 (ffa9cf99a 2024-06-03)
  • stable-x86_64-unknown-linux-gnu 工具链未变更,对应rustc 1.79.0

解决方案

直接用cpulimit限制cargo进程无效,原因是cargo会启动多个独立的rustc子进程执行编译任务,这些子进程不受父进程的CPU限制规则约束。

可以通过cargo自带的并发控制功能来解决:

  • 命令行参数方式:执行编译或运行命令时加上-j参数指定并发任务数,例如:
    cargo build -j 2  # 限制为2个并发编译任务
    cargo run -j 2    # 运行项目时同时限制编译并发数
    
  • 环境变量方式:设置CARGO_BUILD_JOBS环境变量,该配置会全局作用于cargo的所有编译操作:
    export CARGO_BUILD_JOBS=2  # 临时生效
    # 若要永久生效,可将上述命令添加到shell配置文件(如~/.bashrc、~/.zshrc)
    

通过控制并发编译的任务数量,就能有效控制rustc整体的CPU使用率,避免占用全部系统资源。

内容的提问来源于stack exchange,提问作者ArtEm

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 04:34:56