Visual Studio 修复: 一起生成 Visual C++ 2010年应用程序运行时的高 CPU 使用率"/ openmp"Visual Studio 2010 中的选项

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 2686593
症状
假定您有一个 Visual C++ 2010年应用程序在 Microsoft Visual Studio 2010 中开发。应用程序使用打开的多处理 (OpenMP) API,用于在具有多个处理器的计算机上的性能提高。生成应用程序,并使用/openmp编译器选项。当您运行应用程序时,该应用程序进程可能会遇到 CPU 使用率过高。

注意在 Microsoft Visual Studio 2008 中或 Microsoft Visual Studio 2005年中未出现此问题。
原因
由于 OpenMP 运行时 (Vcomp100.dll) 的实现有自旋等待循环的 OpenMP 线程寻找工作一段时间它们会生成之前,将出现此问题。
解决方案
安装此修复程序后,必须创建OMP_WAIT_POLICY环境变量,,然后将该变量的值设置为被动

备注:
  • 如果将值设置为活动状态OMP_WAIT_POLICY ,如果 OpenMP 线程将自旋-等待很短的时间之前阻止的线程完成后执行一个工作负荷。
  • 如果将值设置到被动OMP_WAIT_POLICY ,OpenMP 线程立即将当线程完成执行工作负荷而被阻止。
  • OMP_WAIT_POLICY的默认值是活动的。

修补程序信息

受支持的修补程序现已从 Microsoft 推出。但是,它被用于纠正本文中描述的问题。它仅应用于正经历此特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。

要立即解决此问题,请联系 Microsoft 客户支持服务,以获取此修复程序。有关 Microsoft 客户支持服务的电话号码和有关支持费用的信息的完整列表,请访问下面的 Microsoft 网站:注意在特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题,可能会取消可免收支持电话的费用。通常的支持费用将应用于其他支持问题和事项,不需要进行专门更新。

系统必备组件

若要应用此修补程序,您必须安装 Visual Studio 2010 Service Pack 1 (SP1) 。

重新启动要求

如果在安装过程中使用了受影响的文件安装此修复程序后,必须重新启动计算机。

修补程序替换信息

此修补程序不替代以前发布的修补程序。

文件信息

此修复程序的全球版本具有的文件属性 (或更新的文件属性) 在下表中列出。日期和为这些文件的时间以协调世界时 (UTC) 列出。当您查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用控制面板中的日期和时间项中的时区选项卡。
文件名称文件版本文件大小日期时间平台
atl100.dll10.0.40219.4361592802012 年 12 月 14-5:46x64
atl100.dll10.0.40219.4363860962012 年 12 月 14-6:07ia64
atl100.dll10.0.40219.4361388002012 年 12 月 14-6:35x86
mfc100.dll10.0.40219.43655798242012 年 12 月 14-5:46x64
mfc100.dll10.0.40219.43644006882012 年 12 月 14-6:35x86
mfc100chs.dll10.0.40219.436369122012 年 12 月 14-5:46x64
mfc100chs.dll10.0.40219.436369122012 年 12 月 14-6:35x86
mfc100cht.dll10.0.40219.436369362012 年 12 月 14-5:46x64
mfc100cht.dll10.0.40219.436369122012 年 12 月 14-6:35x86
mfc100d.dll10.0.40219.43691443682012 年 12 月 14-8:00x64
mfc100d.dll10.0.40219.43670641282012 年 12 月 14-8:30x86
mfc100deu.dll10.0.40219.436650722012 年 12 月 14-5:46x64
mfc100deu.dll10.0.40219.436650962012 年 12 月 14-6:35x86
mfc100enu.dll10.0.40219.436558802012 年 12 月 14-5:46x64
mfc100enu.dll10.0.40219.436558802012 年 12 月 14-6:35x86
mfc100esn.dll10.0.40219.436645602012 年 12 月 14-5:46x64
mfc100esn.dll10.0.40219.436645602012 年 12 月 14-6:35x86
mfc100fra.dll10.0.40219.436650962012 年 12 月 14-5:46x64
mfc100fra.dll10.0.40219.436650722012 年 12 月 14-6:35x86
mfc100ita.dll10.0.40219.436630242012 年 12 月 14-5:46x64
mfc100ita.dll10.0.40219.436630482012 年 12 月 14-6:35x86
mfc100jpn.dll10.0.40219.436445922012 年 12 月 14-5:46x64
mfc100jpn.dll10.0.40219.436445922012 年 12 月 14-6:35x86
mfc100kor.dll10.0.40219.436440802012 年 12 月 14-5:46x64
mfc100kor.dll10.0.40219.436441042012 年 12 月 14-6:35x86
mfc100rus.dll10.0.40219.436614882012 年 12 月 14-5:46x64
mfc100rus.dll10.0.40219.436615122012 年 12 月 14-6:35x86
mfc100u.dll10.0.40219.43656059522012 年 12 月 14-5:46x64
mfc100u.dll10.0.40219.43644257762012 年 12 月 14-6:35x86
mfc100ud.dll10.0.40219.43692206562012 年 12 月 14-8:00x64
mfc100ud.dll10.0.40219.43671327362012 年 12 月 14-8:30x86
mfcm100.dll10.0.40219.436937442012 年 12 月 14-5:46x64
mfcm100.dll10.0.40219.436824962012 年 12 月 14-6:35x86
mfcm100d.dll10.0.40219.4361203682012 年 12 月 14-8:00x64
mfcm100d.dll10.0.40219.4361045122012 年 12 月 14-8:30x86
mfcm100u.dll10.0.40219.436937442012 年 12 月 14-5:46x64
mfcm100u.dll10.0.40219.436824962012 年 12 月 14-6:35x86
mfcm100ud.dll10.0.40219.4361219042012 年 12 月 14-8:00x64
mfcm100ud.dll10.0.40219.4361060562012 年 12 月 14-8:30x86
mfcmifc80u.dll10.0.40219.436138722012 年 12 月 15 月16:06x86
msvcp100.dll10.0.40219.4366088162012 年 12 月 14-5:46x64
msvcp100.dll10.0.40219.4369672322012 年 12 月 14-6:07ia64
msvcp100.dll10.0.40219.4364219362012 年 12 月 14-6:35x86
msvcp100d.dll10.0.40219.43619799522012 年 12 月 14-7:34ia64
msvcp100d.dll10.0.40219.43610153442012 年 12 月 14-8:06x64
msvcp100d.dll10.0.40219.4367444962012 年 12 月 14-8:36x86
msvcr100_clr0400.dll10.0.40219.4368300162012 年 12 月 14-5:46x64
msvcr100_clr0400.dll10.0.40219.43615002242012 年 12 月 14-6:07ia64
msvcr100_clr0400.dll10.0.40219.4367741922012 年 12 月 14-6:35x86
msvcr100d_clr0400.dll10.0.40219.43637647842012 年 12 月 14-7:34ia64
msvcr100d_clr0400.dll10.0.40219.43618739682012 年 12 月 14-8:06x64
msvcr100d_clr0400.dll10.0.40219.43615063522012 年 12 月 14-8:36x86
vcomp100.dll10.0.40219.436589442012 年 12 月 14-5:46x64
vcomp100.dll10.0.40219.4361444482012 年 12 月 14-6:07ia64
vcomp100.dll10.0.40219.436522882012 年 12 月 14-6:35x86
vcomp100d.dll10.0.40219.4363185122012 年 12 月 14-7:29ia64
vcomp100d.dll10.0.40219.4361086162012 年 12 月 14-7:54x64
vcomp100d.dll10.0.40219.436896482012 年 12 月 14-8:24x86
vcomp100ui.dll10.0.40219.436102962012 年 12 月 15 月16:06x86
vcomp100ui.dll10.0.40219.436103122012 年 12 月 15 月16:06x86
vcomp100ui.dll10.0.40219.436108082012 年 12 月 15 月16:06x86
vcomp100ui.dll10.0.40219.436108242012 年 12 月 15 月16:06x86
vcomp100ui.dll10.0.40219.436118322012 年 12 月 15 月16:06x86
vcomp100ui.dll10.0.40219.436123442012 年 12 月 15 月16:06x86
vcomp100ui.dll10.0.40219.436123602012 年 12 月 15 月16:06ia64
vcredist_ia64.exe10.0.40219.43630433042012 年 12 月 14-10:00x86
vcredist_x64.exe10.0.40219.436102962882012 年 12 月 14-9:57x86
vcredist_x86.exe10.0.40219.43689942722012 年 12 月 14-10:03x86
更多信息
有关 Visual Studio 2010 中的 OpenMP API 的详细信息,请访问以下 MSDN 网站:有关在 Visual C++ OpenMP 的详细信息,请访问以下 MSDN 网站:
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。

警告:本文已自动翻译

属性

文章 ID:2686593 - 上次审阅时间:09/27/2015 05:53:00 - 修订版本: 3.0

Microsoft Visual Studio 2010 Service Pack 1

  • kbqfe kbhotfixserver kbfix kbsurveynew kbexpertiseadvanced kbmt KB2686593 KbMtzh
反馈