3

Я жду, когда Excel завершит перерасчет, и я замечаю, что загрузка процессора, как сообщает диспетчер задач, иногда увеличивается до 51% или 52% на Pentium 4 с гиперпоточностью. Как это делает однопоточное приложение, такое как Excel 2003?

Это просто ошибка округления / оценки со стороны диспетчера задач? Или это как-то связано с распределением HT, то есть я не вижу, чтобы это происходило на подлинной двухъядерной или двухпроцессорной машине?

3 ответа3

6

Я был бы удивлен, если Excel 2003 является однопоточным. Скорее всего, по крайней мере, поток пользовательского интерфейса и рабочий поток. Перекрашивается ли пользовательский интерфейс во время расчета? Если это так, Excel не является однопоточным.

1

MS Windows по умолчанию не привязывает приложение к одному ядру, поэтому вы видите, что Excel выполняется на одном или другом ядре.

Вы МОЖЕТЕ (временно) изменить это поведение через диспетчер задач.

Если у вас запущен Excel, запустите файл taskmgr.exe, перейдите к списку «Процесс» и щелкните правой кнопкой мыши процесс, вы можете выбрать для него «Сродство».

Отметив его для одного или другого ядра, вы увидите (опять же в taskmgr), что он работает только на одном ядре.

1

Что ж, если бы у вас был одноядерный процессор? Как Excel может использовать более 50% этого? Если у вас есть 2 ядра, и каждое может работать с одним потоком, а Excel работает на одном ядре, то он может использовать до 100% этого ядра.

С помощью гиперпоточности у вас нет 2 "реальных" потоков на ядро процессора, а 2 "виртуальных" потока. 2 потока должны совместно использовать свои ресурсы выполнения. Таким образом, один из потоков может использовать больше ресурсов, чем другой, что может показывать использование более 50%.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .