首页 > 解决方案 > 限制 Ninja 在 Windows 上使用的内核

问题描述

我正在尝试限制 Ninja (1.10.0) 使用的内核数量。我一直在使用 CMake(3.11 和 3.18)时推荐的参数

 '-DCMAKE_JOB_POOLS:STRING=compile=4;link=3'

摘自

然而,这似乎没有任何效果,系统仍然使用编译器的所有可用内核(TASKING C 编译器 - cctc),并且有超过 4 个进程正在启动和运行。

  1. Ninja 文件中是否应该创建一些设置来限制编译器线程?
  2. 我需要做些什么特别的事情(比如格式化)才能在 Windows 上进行这项工作吗?

标签: windowscmakeninja

解决方案


如果您在构建工具模式下运行 CMake 来构建已经生成的项目二叉树,则可以向本机构建工具(在您的情况下为 Ninja)添加其他参数,例如

cmake --build builddir --target all --config Release -- -j4

请参阅CMake 构建工具模式和支持的 ninja 命令行选项的文档ninja --help


推荐阅读