Проверьте использование процессора с помощью вкладки или надстройки на Firefox на Mac [дубликата]

13

В моей версии Firefox есть процесс / поток, позволяющий использовать его на моем MacBook Pro (OSX 10.7.4) через несколько минут. Я попытался использовать about:memoryи about:addons-memoryпопытаться выяснить, что является причиной проблемы, но это, похоже, не связано с использованием памяти вообще. Есть ли способ увидеть использование процессора по вкладке или надстройке?

Claire
источник

Ответы:

6

На самом деле, about:memoryвкладка показывает распределение памяти по вкладкам; это просто немного трудно понять.

Когда вы идете в about:memory, вы должны увидеть список распределений памяти, расположенных в иерархическом порядке. Первым элементом верхнего уровня в списке должны быть явные распределения . Под этим находятся несколько листовых узлов. То, что вы ищете, это объекты окна . При этом большинство узлов, помеченных как «верхние», ссылаются на вкладки (если вы загрузите веб-сайт, вы увидите адрес рядом с «верхним»). Например, я вижу:

├───29.63 MB (15.27%) -- window-objects
│   ├──12.64 MB (06.52%) ++ top(chrome://browser/content/browser.xul, id=3)
│   ├───6.84 MB (03.53%) ++ top(http://www.cnn.com/, id=31)
│   ├───4.55 MB (02.35%) ++ top(https://ftp.mozilla.org/, id=24)
│   ├───3.50 MB (01.80%) ++ (5 tiny)

Цифры в начале - это использование памяти, также выраженное в процентах от общего использования памяти Firefox.

Добавленное использование памяти также показано, но не явно добавленным. Вам нужно поискать в списке, чтобы выяснить это, найдя все компоненты, относящиеся к надстройке, и сложив распределения памяти.

Обратите внимание, что я на бета-канале (поэтому в настоящее время использую Firefox 22.0b2), но я считаю, что это работает на старых версиях.

InnerPortal
источник
спасибо, я не заметил каких-либо утечек памяти. кажется, что память имеет тенденцию оставаться довольно постоянной. просто через некоторое время процессор резко увеличивается и остается таким.
Клэр
11
Вопрос был конкретно об использовании процессора , а не о памяти.
laggingreflex
@laggingreflex: Да, я знаю. Я отвечал на утверждение «но, похоже, оно вообще не связано с использованием памяти». Однако, оглядываясь назад, возможно, Клэр на самом деле означала «процессор» вместо «память».
InnerPortal
В Firefox 38 (работает на Linux), я должен был щелкнуть Measureпод Show Memory Reportsдля того , чтобы сформировать и просмотреть дерево вы описываете. (Если это будет одинаково на всех платформах, это может сделать ответ немного более полным.)
joeytwiddle
5

Существует несколько причин высокой загрузки ЦП в Firefox, подробно описанных ниже.

1.Add дополнения

Обычная причина проблем с процессором - плохое дополнение. Первый тест, который нужно сделать, это запустить Firefox без дополнений.

Из Устранение неполадок Firefox, используя безопасный режим :

В верхней части окна Firefox нажмите кнопку Firefox, перейдите в меню «Справка» и выберите Restart with Add-ons Disabled.... Firefox запустится с диалогом безопасного режима Firefox. Примечание. Вы также можете запустить Firefox в безопасном режиме, удерживая клавишу Shift при запуске Firefox.

Теперь у вас есть два варианта:

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

Если в безопасном режиме у вас нет проблем с процессором, значит, проблема в одном из ваших дополнений. Вы можете использовать меню, Tools > Add-onsчтобы выборочно отключать надстройки и перезапускать Firefox, пока не найдете плохую.

2.Flash

Flash известен такими проблемами. Один из обычных способов исправить это - отключить аппаратное ускорение Firefox, снявTools > Options флажок в меню « Дополнительно» Use Hardware Acceleration When Available.

Рекомендуется использовать две надстройки Adblock Plus и NoScript для выборочной блокировки ненужных элементов, включая Flash, на просматриваемой странице.

3.JavaScript

JavaScript на веб-сайте, который вы просматриваете на одной из ваших вкладок, может быть плохо закодирован и тратить ЦП на циклы.

Лучшее средство - использовать NoScript, чтобы избежать выполнения JavaScript с веб-сайтов, которым вы не доверяете. Это также мера безопасности, которую каждый должен использовать, чтобы избежать использования межсайтовых скриптов .

4.Profiling

Если совершенно неясно, какой веб-сайт вызывает высокую загрузку процессора, можно использовать профилирование в Firefox, хотя это не простое упражнение.

Отладчики, которые также выполняют профилирование:

Если вы разработчик и чувствуете себя как в приключении, и, поскольку вы находитесь на Mac, вы можете использовать DTrace, как описано в разделе « Производительность / Оптимизация JavaScript с DTrace» , который является инструментом, который используют разработчики Mozilla.

harrymc
источник
3

@claire: в настоящее время не существует «простого» способа увидеть то, что вы хотите. Если вы пойдете по пути harrymc, вы найдете некоторую информацию об источнике проблемы, но, возможно, не наверняка.

Если вы хотите пойти «трудным» путем, который покажет вам, как вы потребляете ваш процессор в Firefox и / или его плагинах, вам нужно начать отладку вашего Firefox в вашей среде (иногда это не просто Firefox и / или сам плагин, но испорченная библиотека, на которую они полагаются). Вот полное объяснение того, как это сделать, если у вас есть представление о программировании. XCode можно бесплатно скачать с Apple:

https://developer.mozilla.org/en-US/docs/Debugging_on_Mac_OS_X

Но вам не нужно отлаживать полный код Mozilla, но вы обнаружите, что это связано с повышением загрузки ЦП. Это может точно сказать вам, откуда возникла проблема (такие плохие циклы и т. Д.).

Джимми Кёртинг
источник
1

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

Для этого нажмите ( Ctrl+ Alt+ Del), чтобы открыть диспетчер задач, а затем перейдите на вкладку процесса (ту, которая показывает весь процесс с их расширением (в основном, как и в Windows, весь процесс должен заканчиваться расширением .exe). на нем и выберите Выбрать приоритет, чтобы установить приоритет (если он установлен выше нормального, тогда установите его на нормальный, в противном случае, если он установлен на нормальный уровень, и вы хотите уменьшить его больше, чем выберите более низкое значение, чем обычно), и установите Affinity, чтобы ограничить Количество процессоров, которые участвуют в этом процессе. Установите число процессоров, которые вы хотите, и затем нажмите ОК, чтобы вернуться. Проверьте, работает ли это.

Помните, что это работает только для многопроцессорных компьютеров (таких как двухъядерные, четырехъядерные и т. Д.), А также использование ЦП отличается от использования памяти.

охотник
источник
1
Извините за мою ошибку, я забыл прочитать, что вы используете Firefox на MAC. У меня нет большого опыта работы с MAC, но если он содержит какой-либо диспетчер задач, такой как Windows, этот метод работает только для системы Windows.
Охотник
3
Это хороший совет, но он никоим образом не подходит даже для ответа на реальный вопрос.
laggingreflex 25.12.13