Какой-то диспетчер задач для JavaScript в Firefox 3?
Недавно у меня возникли проблемы с Firefox 3 на Ubuntu Hardy Heron.
Я нажму на ссылку, и она какое-то время зависнет. Я не знаю, является ли это ошибкой в Firefox 3 или на странице слишком много клиентского JavaScript, но я хотел бы попытаться немного отладить ее.
Итак, мой вопрос: «Есть ли способ иметь какой-нибудь проводник процессов или что-то вроде диспетчера задач для Firefox 3?»
Я хотел бы видеть, какие вкладки используют какой процент моего процессора через JavaScript на этой странице (или что-либо на странице, что вызывает использование ЦП / памяти).
Кто-нибудь знает плагин, который делает это или что-то подобное? Кто-нибудь еще проводил такую проверку по-другому?
Я знаю о FireBug, но не могу представить, как бы я использовал его, чтобы определить, какая вкладка использует много ресурсов.
Есть предложения или идеи?
Ответов (5)5
Вероятно, это потрясающая «ошибка» fsync firefox3 , которая представляет собой огромную кучу ошибок .
В итоге
- Firefox3 сохраняет свои закладки и историю в базе данных SQLite.
- Каждый раз, когда вы загружаете страницу, она несколько раз записывается в эту базу данных.
- SQLite глубоко заботится о том, чтобы вы не потеряли свои закладки, поэтому каждый раз, когда он записывает, дает ядру команду сбрасывать его файл базы данных на диск и гарантировать, что он полностью записан.
- Многие варианты linux, когда говорят, что нужно сбросить, сбрасывают КАЖДЫЙ ФАЙЛ. Это может занять до минуты или больше, если у вас есть фоновые задачи, выполняющие какие-либо операции с интенсивным использованием диска.
- Ядро заставляет firefox ждать, пока происходит эта очистка, что блокирует пользовательский интерфейс.
Для Firefox не существует инструмента типа «проводник процессов»; но есть https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Venkman с режимом профилирования, который вы можете использовать, чтобы увидеть время, потраченное хромом (то есть не-контент, это не веб-страница ) скрипты.
Судя по тому, что я читал об этом, DTrace также может быть полезен для такого рода вещей, но для этого требуется создание пользовательской сборки и, возможно, добавление дополнительных зондов к источнику. Сам еще не играл.
Это подробное обсуждение, которое объясняет все проблемы, связанные с fsync, которые затрагивали версии FF до 3.0. В общем, с тех пор я тоже не видел такого поведения, и на самом деле это не должно быть проблемой, если ваша система также не выполняет задачи с интенсивным вводом-выводом. Firebug / Venkman - отличные отладчики, но им было бы больно решать подобные проблемы для чужого кода, ИМО.
Я также хотел бы, чтобы был простой способ взглянуть на использование ЦП в Firefox по вкладкам, хотя я часто обнаруживаю, что FF потребляет 100% ЦП, но не знаю, какая часть вызывает проблему.
Итак, мой вопрос: есть ли способ иметь какой-то проводник процессов или что-то вроде диспетчера задач для Firefox 3?
В настоящее время это невозможно из-за того, как построен Firefox. Но новый Internet Explorer 8 Beta 2 и только что анонсированный браузер Google Chrome движутся в этом направлении, поэтому я полагаю, что Firefox тоже пойдет в этом направлении.
Вот сообщение ( Диспетчер процессов Google Chrome ) Джона Ресига из Mozilla и jQuery по этой теме.
XUL Profiler - отличное расширение, которое может указывать на расширения и JS на стороне клиента, которые перестали работать с процессором. Он работает не для каждой вкладки, а для каждого сценария (или около того). Обычно вы можете вручную связать эти .js-скрипты со своими вкладками или расширениями.
Также стоит упомянуть, что Google Chrome имеет встроенный действительно хороший диспетчер задач, который показывает использование памяти и ЦП для каждой вкладки, расширения и плагина.
[XUL Profiler] - это профилировщик Javascript. Он показывает затраченное время для каждого метода в виде графика, а также перерисовку зон холста браузера, чтобы помочь отследить потребляющие фрагменты кода ЦП.
Отслеживает все вызовы JS и события рисования в контексте XUL и страниц. Создает анимацию, динамически отображающую перерисовываемые зоны холста.
Начиная с версии FF 3.6.10, она устарела и больше не помечена как совместимая. Но он по-прежнему работает, и вы можете преодолеть несовместимость с не менее замечательным расширением MR Tech Toolkit .