5

Я обнаружил, что и Safari, и Firefox используют очень большое количество ЦП во время загрузок (> 200% использования ЦП), может кто-нибудь объяснить, почему это происходит? Это произошло как до, так и после полной переустановки системы. Он также использует то же количество процессора, несмотря на скорость загрузки. Я использую Mac OS 10.8.

У меня также были образы Firefox, которые делали то же самое, но случайно удалили их во время переустановки.

1 ответ1

1

Я только сталкивался с этим вопросом сегодня, и я надеюсь, что это не слишком поздно, но короткие ответы да (на ваш первый вопрос) я обнаружил, что и Safari, и Firefox используют очень большое количество ЦП во время загрузок (>200% Использование процессора), кто-нибудь может объяснить, почему это происходит?") и да (к вашему комментарию на вопрос" Означает ли процент выше 100% что он использует несколько ядер для этого процесса?"«).

Краткое объяснение состоит в том, что ваш Mac содержит многоядерный процессор - я предполагаю минимум 2 учитывая, что вы используете OS X 10.8 - который поддерживает гиперпоточность, и это означает, что каждое физическое ядро (сам по себе физический процессор) представляет несколько "логических" ядер для OS X, которые он рассматривает как независимые логические процессоры. Процесс может использовать до 100% каждого логического ядра, поэтому n логических ядер означает максимальное использование процессора n x 100% на процесс. Следовательно, ваш Activity Monitor (например, диспетчер задач в Windows) отображает полосы использования ЦП для каждого из этих логических ядер (если они <= 4 , согласно технической документации Apple по использованию ЦП), и вы получаете показания, равные 157% для Firefox и т.д. Это не является необычным и, вероятно, нормальным, если у вас одновременно запущено несколько загрузок, приложений, игр и т.д. Но обратите внимание: разные процессы приложения находятся в разных частях пространства виртуальной памяти пользователя, поэтому также можно увидеть несколько процессов приложения, которые одновременно загружаются с процессором >100% , например Firefox 157% и iTunes 200% и т.д.

Невозможно увидеть использование ЦП >100% для процесса в одноядерной системе ЦП, если только инструмент отчетности, который вы используете, не работает. Firefox, вероятно, порождает поток для каждой загрузки (если у вас есть несколько одновременных загрузок), в дополнение к ряду других потоков для вкладок, рендеринга и т.д., И ваше прочтение 157% для процесса явно означает, что некоторые из эти потоки запускались как минимум на двух разных логических ядрах одновременно. Чтение 296% будет означать, что используются как минимум три ядра и т.д. Использование ЦП для процесса в системе с многоядерным процессором / многопоточной ОС представляет собой совокупность загрузок ЦП для всех потоков, работающих в этом процессе.

Примечание: на практическом уровне вы можете обратиться к этому, если ваши проблемы с загрузкой связаны с Firefox или возникают неоднократно.

Вы можете узнать информацию о количестве физических / логических ядер на вашем компьютере с помощью команды sysctl (в BSD API, если вы заинтересованы) - если вы выполните следующую команду в терминальном приложении:

$ sysctl -e hw | grep "cpu="

вы должны увидеть что-то вроде этого (обратите внимание на комментарии, которые я вставил, а не на вывод)

hw.ncpu=4         # no. of cores available to the kernel
hw.activecpu=4    # no. of logical cores actively being used by the kernel
hw.physicalcpu=2  # no. of physical cores
hw.logicalcpu=4   # no. of logical cores

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