Pha*_*ino 16 c++ visual-studio
每次我使用visual studio进行编译时,我的计算机的其余部分都会爬行,因为visual studio正在占用所有处理器.有没有办法限制visual studio正在使用的处理器数量,所以我仍然可以在编译期间完成一些工作?
顺便说一下,我正在使用visual studio 2013和2015以及用C++编程.
谢谢!
Eri*_*ill 15
如果您有一个包含大量.cpp文件的单个C++项目并且您不希望同时进行8个构建,则设置"最大并行项目构建数"不是答案.要控制它,请转到" 工具" >" 选项" >" 项目和解决方案" >" VC++项目设置",然后在" 构建"部分中,将" 最大并发C++编译"设置为要并行编译的最大.cpp文件数.默认设置显示为0,这显然表示没有最大值.我有4个内核/ 8个线程,并将此值设置为4,VS现在一次只编译4个文件而不是8个.
这些说明基于Visual Studio 2017,但我认为对于一些版本来说就是这种方式.
Dig*_*ity 11
对于Visual Studio 2015,将" Maximum number of parallel project builds" 更改为所需的数字.(可能是你m/c中处理器数量的一半)
菜单>工具>选项>项目和解决方案>构建和运行.编辑价值.
我找到了一个真正适合我的解决方法。手动限制 VS 进程的亲和性。打开任务管理器,转到详细信息选项卡,右键单击devenv.exe,选择“设置关联”。在对话框中取消勾选几个核心。就是这样。所有衍生的cl.exe进程都将继承亲缘关系,因此不会在未勾选的核心上运行。
另外,去为 Visual Studio 的功能请求投票:https : //developercommunity.visualstudio.com/content/idea/436208/limit-cpu-usage-of-visual-studio.html
小智 6
供 C++ 使用
*msbuild /p:CL_MPCount=X
Run Code Online (Sandbox Code Playgroud)
其中 X 是编译器驱动程序的编号。我在编译 Tensorflow 源代码时使用它来限制 CPU 利用率。
阅读更多细节:ms's blog on vs2010 c++ parallel building
更优化的答案来自 Mikhail Virovets,网址为 https://developercommunity.visualstudio.com/comments/497084/view.html
将编译器进程优先级降低到正常以下。这意味着它将使用尽可能多的 CPU,但不会干扰您尝试使用的其他内容。
定义一个注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\cl.exe\PerfOptions
Run Code Online (Sandbox Code Playgroud)
然后创建一个名为 = 5 的 DWORD 值CpuPriorityClass(5 表示“低于正常值”)。
请注意,这会影响所有名为“cl.exe”的进程。
| 归档时间: |
|
| 查看次数: |
10278 次 |
| 最近记录: |