MSBuild 未使用所有核心进行构建

2024-05-10

我有一个使用 Visual Studios 2008 配置的项目。当我打开 IDE 并点击构建时,系统上的所有核心都用于构建该项目。但是,当我尝试从命令行构建时,仅使用 1 个核心。这是我正在运行的命令:

C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild VTK.sln /m /fl /tv:3.5 /p:Configuration=RelWithDebInfo

通过阅读文档, /m 开关似乎应该告诉 MSBuild 使用所有核心,但事实并非如此。有什么想法如何让它使用所有核心吗?

Thanks


嗯,实际上/m选项指定“构建的并发进程的最大数量”。也就是说,最大数量msbuild.exe并行启动多个进程以并行构建项目(每个进程最多构建一个项目)。与“使用所有核心”完全不同。虽然,无可否认,的长形式名称/m选项,/maxcpucount可能另有暗示,它的描述应该可以更好地指示正在发生的事情:

  /maxcpucount[:n]   Specifies the maximum number of concurrent processes to
                     build with. If the switch is not used, the default
                     value used is 1. If the switch is used without a value
                     MSBuild will use up to the number of processors on the
                     computer. (Short form: /m[:n])

现在,如果您的解决方案不允许并行构建项目,例如因为您的每个项目都是另一个项目的依赖项(例如构建 P2 需要 P1,项目 P3 需要 P2 等),那么您就赢了没有看到任何并行构建发生。根据构建完成的速度,您也不会在所有核心上看到任何相关活动(例如使用任务管理器),因为 CPU 图表的“闪烁”可能并不准确地说明真正发生的情况(注意构建是也相当 I/O 密集型,这并没有显示出 CPU 负载)。

但是,您应该看到(例如使用 Process Explorer 或任务管理器)许多msbuild.exe与您拥有的核心/CPU 数量匹配的进程(或作为可选数字传递给的等效数字)/m option.

您可能还想参考这个问题 https://stackoverflow.com/q/997047/21567。搜索“parallel msbuild”也会产生一些不错的结果,其中包含更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MSBuild 未使用所有核心进行构建 的相关文章

  • 有没有一种简单的方法可以让 Visual Studio 2015 使用特定的 ToolsVersion?

    使用特定版本构建项目或解决方案时msbuild我可以使用以下命令选择早期的 net 工具链 toolsversion or tv switch C Program Files x86 MSBuild 14 0 bin msbuild tv
  • System.Web.HttpContext 无法识别

    我有一个带有 C Web 应用程序的 ASP NET 我创建的类之一需要使用 HttpContext 根据http msdn microsoft com en us library system web httpcontext v vs 9
  • 并行化斐波那契序列生成器

    我正在学习并行化 在一项练习中 我得到了一些我应该提高性能的算法 其中之一是斐波那契数列生成器 array 0 0 array 1 1 for q 2 q lt MAX q array q array q 1 array q 2 我怀疑 这
  • 如何构建 Office 加载项而不在构建系统上注册?

    我们正在使用 Visual Studio 2008 构建 Office 2007 加载项 我们的构建是通过持续集成服务器 一台机器 执行的 每当我们签入更改或手动请求更改时 该服务器都会进行构建 服务器可以执行同时构建 我们注意到 当 Vi
  • 确保 Clojure 中只有一个服务实例正在运行/启动/停止的规范方法?

    我正在用 Neo4j 支持的 Clojure 编写一个有状态服务器 它可以服务套接字请求 例如 HTTP 当然 这意味着我需要能够从该服务器内启动和停止套接字服务器 在设计方面 我希望能够在此服务器中声明一个 服务 并启动和停止它 我在 C
  • 升级到 Visual Studio 2012 后,链接文件出现 MSBuild 错误“CSC:错误 CS2001:无法找到源文件 'x'”

    自动升级 Net 4 0 Web 应用程序的项目文件以与 Visual Studio 2012 一起使用后 一开始一切正常 但是在编译时出现很多错误 如下所示 说明 找不到源文件 文件路径 文件 CSC 当尝试在 VS2012 的开发人员命
  • 并行 dask for 循环比常规循环慢?

    如果我尝试使用 dask 并行化 for 循环 它最终会比常规版本执行得慢 基本上 我只是按照 dask 教程中的介绍性示例进行操作 但由于某种原因它在我这边失败了 我究竟做错了什么 In 1 import numpy as np from
  • 禁用 ASP.NET Core 3.1 项目的 web.config 生成

    The dotnet publish我的 ASP NET Core 3 1 项目的命令创建了一个web config文件在我的publish 目录 我不希望生成此文件 或至少复制到该文件夹 它根本不能与 IIS 一起使用 当我查看更加详细的
  • MSBuild 中 ProjectReference 的配置

    是否可以在 MSBuild 中设置 ProjectReference 的配置 设想 我有一个构建脚本 网络部署 它有许多配置 其中唯一的区别与它们的部署方式有关 而不是其自身的构建方式 我不想维护作为部署过程的一部分构建的解决方案 项目的配
  • 如何在C中同时运行两个子进程?

    所以我开始学习并发编程 但由于某种原因我什至无法掌握基础知识 我有一个名为 fork c 的文件 其中包含一个 main 方法 在此方法中 我将 main 分叉两次 分别进入子进程 1 和 2 在孩子 1 中 我打印了字符 A 50 次 在
  • 本地提交推送到中央服务器

    在工作中 我们使用 perforce 并被鼓励定期对其进行承诺 我对此很满意 然而 我想运行像 Mercurial 这样的东西 这样我就可以在本地提交正在进行的工作并且不一定编译 运行的东西 然后从中定期提交到中央 perforce 服务器
  • Python 多处理:全局对象未正确复制到子级

    前几天我回答了一个关于SO的问题 https stackoverflow com q 67047533 1925388关于并行读取 tar 文件 这是问题的要点 import bz2 import tarfile from multipro
  • 调试错误“类型‘xx’是在未引用的程序集中定义的”

    完整错误如下 方式 System Windows Forms Control 是 在程序集中定义的不是 参考 您必须添加参考 组装 System Windows Forms 版本 2 0 0 0 文化 中立 PublicKeyToken b
  • Visual Studio 2008 在构建解决方案时跳过项目

    我最近在Win2k8R2机器上安装了VS2008并打开了一个VS2005项目 C 成功转换到 VS2008 后 我尝试在调试 x64 模式下构建项目 但该项目正在被跳过 我尝试了 清理 和 重建 但这些也被跳过 我能够在调试 win32 模
  • 为什么不推荐使用本机 Visual C++ 中的事件处理?

    http msdn microsoft com en us library ee2k0a7d aspx http msdn microsoft com en us library ee2k0a7d aspx 还支持事件处理 本机 C 类 C
  • 通过 TFS 构建服务执行时 MSBuild 找不到引用

    我有一个参考 Telerik 程序集的解决方案 引用的版本已安装在构建服务器上 问题是 持续集成构建总是成功的 直到我升级解决方案和构建服务器上的 Telerik 程序集 现在构建无法提供经典的 无法解析此引用 我检查了我的解决方案 一切都
  • 有状态 WCF Web 服务

    我是 WCF 新手 我一直在尝试在 Web 服务中使用会话状态 我设法使用number http www codeproject com KB session SessionWithWS aspx msg 3227646 of http w
  • 如何在 Visual Studio 2008 中设置默认 XAML 视图

    在 Visual Studio 2008 中 当您向 WPF 应用程序项目添加新的 XAML 窗口时 您获得的默认视图是 拆分视图 其中可视化设计器和 XAML 代码在同一文档中显示在另一个之上 我更喜欢另一种视图 您可以通过双击 设计 或
  • 压缩未压缩的 MSI 文件

    我们有一个安装项目 它生成一个未压缩的 MSI 文件 并且根本没有 Setup exe 稍后由 NSIS 压缩 在特殊的构建设置中 我想在 NSIS 打包之前复制该 MSI 更改副本并保留它 我还想在 msbuild 创建它之后对其进行压缩
  • 安装后 Windows 服务未出现在服务列表中

    我使用 Visual Studio 2008 用 C 创建了一个 Windows 服务 我几乎遵循了这个 http www codeproject com KB dotnet simplewindowsservice aspx http w

随机推荐

  • Watson Dialog 服务到对话服务

    我们使用 Bluemix Dialog 服务创建了对话框 现在我们希望将它们导入到新的 Bluemix Conversation 服务中 导出导入失败 您知道是否存在转移过程吗 谢谢 不幸的是 无法从 Dialog 迁移到 Conversa
  • 错误 ITMS-90085:“二进制文件中没有体系结构。Lipo 无法检测到捆绑可执行文件中的任何体系结构。”

    操作系统 OS X Yosemite 版本 10 10 1XCode 未安装应用程序加载器3 0 620 电话间隙 3 7 0PhoneGap 构建 在线 build phonegap com 在验证 iTunes 步骤时 出现错误 ITM
  • 使用 C# 的异步 WebRequest

    您好 我有一个函数 它将 url Get 参数传递到网络服务器上的 php 文件 并等待文件的响应 通常需要 10 20 秒 我想将其放入一个循环中 因为我必须一次将这些 Get 请求发送到大约 5 个不同的 php 文件 但是当我尝试将其
  • 防止 Firebase 中的待处理写入事务不起作用

    我的目标是在单击按钮时将名称插入 Cloud Firestore 中 但如果用户未连接到互联网 我不希望保存处于挂起状态 我不喜欢 Firebase 保存待处理写入的行为 即使互联网连接已恢复 我研究发现Firebase 开发人员建议使用事
  • 本地设置的 Cython 编译器指令是否影响一个或所有函数?

    我正在努力使用 Cython 加速一些 Python Numpy 代码 并且对 本地 设置 如定义的here http docs cython org en latest src reference compilation html在文档中
  • Pandas DataFrame:如何计算组中第一行和最后一行的差异?

    这是我的熊猫数据框 import pandas as pd import numpy as np data column1 338 519 871 1731 2693 2963 3379 3789 3910 4109 4307 4800 4
  • 让管道自我刷新角度

    我有来自后端的静态时间戳 我想每 1 秒刷新一次管道以获取现在的日期 这是我的烟斗 import Pipe PipeTransform from angular core import moment from moment Pipe nam
  • TinyMCE:将 CSS 类属性与 formatselect-dropdown 格式结合使用

    我想定制格式 http wiki moxiecode com index php TinyMCE Configuration theme advanced blockformats在 TinyMCE 中格式选择下拉菜单 http wiki
  • 如何使用 Get-ChildItem 仅获取目录?

    我正在使用 PowerShell 2 0 我想通过管道输出某个路径的所有子目录 以下命令输出所有文件和目录 但我不知道如何过滤掉文件 Get ChildItem c mypath Recurse 我尝试过使用 Attributes获取属性
  • 在状态中检测到不可序列化的值,路径为:`filters.startDate` (redux-toolkit.esm.js )

    我正在使用 React 18 和 Redux 构建一个预算应用程序 我不知道这里有什么问题 import moment from moment const filtersDefaultState text sortBy date start
  • 将 Spark 或 Razor viewengine 与 OpenRasta 结合使用

    有人使用 Spark 或 Razor 视图引擎与 OpenRasta 框架吗 或者除了在 WebForms 中构建之外对视图引擎有什么建议吗 Spark 和 Razor ViewEngine 对 OpenRasta 的支持位于 https
  • sqlite 插入需要很长时间

    我正在将不到 200 000 行插入到 sqlite 数据库表中 我只是在终端中通过 sqlite3 使用一个非常简单的 sql 文件 我打赌它已经运行了至少 30 分钟 这是正常现象还是我应该关闭该过程并尝试不同的方法 sqlite中的插
  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到
  • C# 中的类和模块有什么用

    有人可以解释一下类和模块之间的区别吗 你什么时候使用其中一种而不是另一种 我正在使用 C 更新 我的意思是相当于 VB 模块的 C 版本 这在很大程度上取决于您所指的 模块 Visual Basic 的模块 C 中没有真正等效的 VB Ne
  • Java SE + Spring Data + Hibernate

    我正在尝试使用 Spring Data Hibernate 启动 Java SE 应用程序 并且到目前为止已经完成了以下操作 配置文件 Configuration PropertySource classpath hibernate pro
  • JDK 7 的快速调试/调试构建

    我正在寻找 JDK 的调试 或者我猜他们称之为快速调试构建 以启用在运行时生成的打印程序集以及查找性能问题时所需的其他诊断 就目前情况而言 我似乎找不到可以直接使用的 现成的 快速调试构建二进制包 有人可以帮我提供下载链接 或者至少提供有关
  • 从 pod 安装库时出现错误

    我收到未定义的方法squish for
  • oracle日期序列?

    我有一个 oracle 数据库 我需要一个包含 2 年所有日期的表 例如来自01 01 2011 to 01 01 2013 首先我想到了一个序列 但显然唯一支持的类型是数字 所以现在我正在寻找一种有效的方法来做到这一点 欢呼骗局 如果您想
  • 如何在javascript中设置从数据库输入的最大数量?

    我希望根据数据库中的数量设置 输入类型 数字 中输入的最大数量 目前 我正在尝试让它在数据最大的基础上工作 然后再尝试从数据库中获取最大值 但它似乎无法工作 之前已经在这里问过 但我仍然无法理解 在 php javascript 中设置数据
  • MSBuild 未使用所有核心进行构建

    我有一个使用 Visual Studios 2008 配置的项目 当我打开 IDE 并点击构建时 系统上的所有核心都用于构建该项目 但是 当我尝试从命令行构建时 仅使用 1 个核心 这是我正在运行的命令 C Windows Microsof