计算时使用更多的CPU能力(Microsoft Excel)
Geoff注意到,在进行计算时,Excel的CPU使用率最高达到50%。
他想知道是否有任何方法可以突破这一障碍。他尝试将Application.MultiThreadedCalculation.ThreadCount设置为各种值,并且能够将50%的限制弯曲到大约58%,但是仍然有大量未开发的处理能力。
更改用于特定任务(例如运行Excel)的系统资源的一种方法是,修改操作系统对任务的重视程度。您可以通过显示任务管理器,右键单击Excel.exe进程,然后选择“设置优先级”来执行此操作。 (在Windows 8和Windows 10的“任务管理器”的“详细信息”选项卡中找到Excel.exe。)您将看到六个可用的优先级选项;请参阅“高级管理器”。 Excel.exe最有可能设置为“普通”优先级。您可以通过选择“高于正常”或“较高”来增加操作系统分配给Excel.exe的资源。
请注意,您也可以选择“实时”,但是不建议选择此选项。为什么?因此,Windows将优先考虑Excel.exe,而这会牺牲系统上的所有其他进程,包括操作系统本身使用的那些进程。本质上,此设置意味着您的系统上绝对没有其他任何东西可以中断Excel。
听起来不错吧?实际上,这可能是灾难的秘诀,因为如果Excel陷入无限循环,或者完成某项任务(例如计算巨大的工作簿)的时间过长,则整个系统可能会锁定,并且您将不得不重新启动它。
以实时优先级运行还会使其他系统进程饿死,并阻止必要的系统维护。幸运的是,很少有Excel能长时间保持CPU,因此在大多数情况下,不会有任何不利的副作用,但是没有人应该将未明确为其设计的任何进程提升为实时优先级。
即使将Excel的优先级提高到实时,您的使用率也可能不会超过50%。如果您的计算机具有多个CPU或多核CPU,则尤其如此。系统如何利用这些额外的CPU(实际的或虚拟的)取决于几个因素,最重要的是对程序(在本例中为Excel)进行编程以利用多个CPU上的线程的方式。 (幸运的是,现代版本的Excel很好地利用了多线程的机会。)
如果您想了解有关Excel如何使用内存的更多信息,可以在此有用的页面上找到详细信息:
http://www.decisionmodels.com/memlimitsc.htm
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(11056)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。