Вопрос

Недавно у меня возникли проблемы с Firefox 3 на Ubuntu Hardy Heron.

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

Итак, мой вопрос: «Есть ли способ создать какой-нибудь обозреватель процессов или что-то вроде диспетчера задач для Firefox 3?»

Я хотел бы иметь возможность видеть, какие вкладки используют какой процент моего процессора через JavaScript на этой странице (или что-либо на странице, что вызывает использование процессора/памяти).

Кто-нибудь знает плагин, который делает это, или что-то подобное?Кто-нибудь еще проводил такую ​​проверку другим способом?

Я знаю о FireBug, но не представляю, как с его помощью определить, какая вкладка использует много ресурсов.

Есть предложения или идеи?

Это было полезно?

Решение

Это, вероятно, удивительная «ошибка» fsync в Firefox3, что представляет собой огромную кучу неудач.

В итоге

  • Firefox3 сохраняет свои закладки и историю в базе данных SQLite.
  • Каждый раз, когда вы загружаете страницу, она несколько раз записывает данные в эту базу данных.
  • SQLite очень заботится о том, чтобы вы не потеряли свои закладки, поэтому каждый раз, когда он записывает, инструктирует ядро ​​сбросить файл базы данных на диск и убедиться, что он полностью записан.
  • Многие варианты Linux, когда им говорят выполнить такую ​​очистку, очищают КАЖДЫЙ ФАЙЛ.Это может занять минуту или больше, если у вас есть фоновые задачи, выполняющие какие-либо операции с интенсивным использованием диска.
  • Ядро заставляет Firefox ждать, пока произойдет эта очистка, что блокирует пользовательский интерфейс.

Другие советы

Итак, мой вопрос: есть ли способ создать какой-нибудь обозреватель процессов или что-то вроде диспетчера задач для Firefox 3?

Из-за особенностей конструкции Firefox на данный момент это невозможно.Но новый Internet Explorer 8 Beta 2 и только что анонсированный браузер Google Chrome движутся в этом направлении, поэтому я полагаю, что Firefox тоже будет двигаться в этом направлении.

Вот пост( Диспетчер процессов Google Chrome ), Джоном Ресигом из Mozilla и известностью jQuery по этому вопросу.

Для Firefox не существует инструмента «обозреватель процессов»;но есть http://developer.mozilla.org/en/docs/Venkman с режимом профилирования, который вы можете использовать, чтобы увидеть время, затраченное скриптами Chrome (то есть неконтентными, то есть не веб-страницами).

Судя по тому, что я читал об этом, DTrace также может быть полезен для подобных вещей, но для этого требуется создать собственную сборку и, возможно, добавить дополнительные зонды к источнику.Я сам с этим еще не играл.

Есть тщательное обсуждение этого это объясняет все проблемы, связанные с fsync, которые затрагивали версии FF до 3.0.В общем, с тех пор я тоже не видел такого поведения, и на самом деле это вообще не должно быть проблемой, если ваша система не выполняет задачи с интенсивным вводом-выводом.Firebug/Venkman — хорошие отладчики, но им будет сложно решать подобные проблемы для чужого кода, IMO.

Мне также хотелось бы, чтобы был простой способ просмотреть загрузку ЦП в Firefox по вкладкам, поскольку я часто обнаруживаю, что FF потребляет 100% ЦП, но не знаю, какая часть вызывает проблему.

XUL-профилировщик — это потрясающее расширение, которое может указывать на расширения и клиентский JS, который перегружает процессор.Он работает не для каждой вкладки, а для каждого сценария (или около того).Обычно вы можете вручную связать эти сценарии .js со своими вкладками или расширениями.

Также стоит отметить, что в Google Chrome встроен действительно хороший диспетчер задач, который показывает использование памяти и процессора для каждой вкладки, расширения и плагина.

[XUL Profiler] — это профилировщик Javascript.В каждом методе в каждом методе показывается истешенное время, а также перераспределение зон браузера, чтобы помочь отслеживать потребление кусков процессоров кода.

Прослеживает все вызовы JS и события краски в контексте XUL и страниц.Создает анимацию, показывающую динамическую зоны холста.

Начиная с FF 3.6.10, он устарел, поскольку больше не помечен как совместимый.Но он по-прежнему работает, и вы можете преодолеть несовместимость с таким же потрясающим Расширение MR Tech Toolkit.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top