Увеличение мощности процессора при расчетах (Microsoft Excel)
Джефф заметил, что при расчетах загрузка ЦП в Excel достигает 50%.
Он задается вопросом, есть ли способ преодолеть этот барьер. Он попытался установить для Application.MultiThreadedCalculation.ThreadCount различные значения и смог согнуть лимит 50% до примерно 58%, но все еще остается большой объем неиспользованной вычислительной мощности.
Один из способов изменить объем системных ресурсов, выделяемых определенной задаче (например, запуску Excel), — это изменить важность, придаваемую задаче операционной системой. Это можно сделать, открыв Диспетчер задач, щелкнув правой кнопкой мыши процесс Excel.exe и выбрав «Установить приоритет». (Excel.exe находится на вкладке «Подробности» диспетчера задач в Windows 8 и Windows 10.) Вы увидите шесть доступных вариантов приоритета; Для Excel.exe, скорее всего, установлен уровень приоритета «Обычный». Вы можете увеличить ресурсы, выделяемые для Excel.exe операционной системой, выбрав «Выше нормального» или «Высокий».
Обратите внимание, что вы также можете выбрать «В реальном времени», но этот выбор не рекомендуется. Зачем? Потому что в этом случае Windows будет отдавать приоритет Excel.exe за счет всех других процессов в вашей системе, включая процессы, используемые самой операционной системой. По сути, этот параметр означает, что ничто другое в вашей системе не может прервать работу Excel.
Звучит здорово, правда? На самом деле это может быть рецептом катастрофы, потому что, если Excel войдет в бесконечный цикл или выполнение какой-либо задачи (например, вычисление огромной книги) займет слишком много времени, вся ваша система может зависнуть, и вам придется ее перезагрузить.
Выполнение с приоритетом в реальном времени также может привести к остановке других системных процессов и помешать необходимому обслуживанию системы. К счастью, Excel редко задерживает процессор очень долго, поэтому в большинстве случаев не будет никаких неблагоприятных побочных эффектов, но никто никогда не должен повышать приоритет какого-либо процесса до уровня реального времени, который явно не предназначен для этого.
Даже если вы повысите приоритет Excel до Realtime, вы не сможете получить более 50% использования. Это особенно верно, если ваша машина имеет несколько процессоров или многоядерный процессор. То, как ваша система использует эти дополнительные процессоры (реальные или виртуальные), зависит от нескольких факторов, наиболее важным из которых является способ, которым программа (в данном случае Excel) запрограммирована для использования потоковой передачи на нескольких процессорах. (К счастью, современные версии Excel очень хорошо используют возможности многопоточности.)
Если вы хотите узнать больше о том, как Excel использует память, вы можете найти подробную информацию на этой полезной странице:
http://www.decisionmodels.com/memlimitsc.htm
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (11056) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.