Недавно у меня были проблемы с Firefox 3 на Ubuntu Hardy Heron.
Я нажму на ссылку, и она будет висеть некоторое время. Я не знаю, является ли это ошибкой в Firefox 3 или страницей, выполняющей слишком много клиентского JavaScript, но я бы хотел немного отладить ее.
Итак, у меня вопрос: есть ли способ использовать какой-нибудь проводник процессов или менеджер задач для Firefox 3?
Я хотел бы иметь возможность видеть, какие вкладки используют какой процент моего процессора через JavaScript на этой странице (или что-нибудь на странице, которая вызывает использование процессора / памяти).
Кто-нибудь знает плагин, который делает это, или что-то подобное? Кто-нибудь еще проводил такую проверку другим способом?
Я знаю о FireBug, но не представляю, как бы я использовал его, чтобы определить, какая вкладка использует много ресурсов.
Любые предложения или идеи?
Вероятно, это огромная ошибка в Firefox3 fsync , которая является огромной кучей неудач .
В итоге
- Firefox3 сохраняет свои закладки и историю в базе данных SQLite
- Каждый раз, когда вы загружаете страницу, она записывает в эту базу данных несколько раз.
- SQLite очень заботится о том, чтобы вы не потеряли свои закладки, поэтому каждый раз, когда он пишет, дает ядру команду сбросить файл базы данных на диск и убедиться, что он полностью записан.
- Многие варианты linux, когда говорят, что нужно сбрасывать, сбрасывают КАЖДЫЙ ФАЙЛ. Это может занять до минуты или более, если у вас есть фоновые задачи, выполняющие какие-либо работы с дисками.
- Ядро заставляет Firefox ждать, пока происходит этот сброс, что блокирует пользовательский интерфейс.
Для Firefox нет никакого вида «проводника процессов»; но есть http://developer.mozilla.org/en/docs/Venkman с режимом профилирования, который вы можете использовать, чтобы увидеть время, потраченное на скрипты chrome (то есть не контент, а не веб-страницы).
Из того, что я читал об этом, DTrace также может быть полезен для такого рода вещей, но это требует создания пользовательской сборки и, возможно, добавления дополнительных зондов к источнику. Я еще не играл с этим.
Это подробное обсуждение, которое объясняет все проблемы, связанные с fsync, которые затрагивали версии FF до 3.0. В общем, с тех пор я не видел поведения, и на самом деле это не должно быть проблемой, если ваша система также не выполняет интенсивные задачи ввода-вывода. Firebug / Venkman отлично подходят для отладчиков, но им было бы больно выяснять подобные проблемы для чужого кода, IMO.
Я также хотел бы, чтобы был простой способ взглянуть на загрузку ЦП в 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 .