13

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

4 ответа4

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), но я считаю, что это работает на старых версиях.

5

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

1.Дополнения

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

Из Устранение неполадок Firefox с использованием безопасного режима :

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

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

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

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

2.вспышка

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

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

3.JavaScript

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

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

4.профилирование

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

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

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

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). , Щелкните правой кнопкой мыши по нему и выберите « Выбрать приоритет», чтобы установить приоритет (если он установлен выше нормального, установите нормальный уровень, в противном случае, если он установлен на нормальный уровень, и вы хотите уменьшить его больше, чем выберите более низкое значение, чем обычно), и установите для параметра «Аффинность» значение ограничить нет. процессоров, которые способствуют этому процессу. Установите номер процессоров, которые вы хотите, а затем нажмите кнопку ОК, чтобы вернуться. Проверьте, работает ли это.

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

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