Почему Firefox вызывает «всплески» с высоким уровнем использования процессора каждые несколько секунд?

Когда я запускаю Firefox, у меня нет проблем какое-то время, но через пару дней начинают появляться всплески процессора. Во время всплеска Firefox замораживается, а затем останавливается. Шипы происходят каждые семь-десять секунд, и каждый пик длится от двух до трех секунд . Если я набираю текст при появлении всплеска, символы выводятся только после всплеска. Первоначально я думал, что эта проблема связана с Flash, поэтому я отключил ее, но проблема все еще возникает.

Кроме того, использование памяти Firefox увеличивается более чем на 600 МБ через несколько дней.

Список плагинов и расширений Firefox, которые я использую, доступен здесь .

9 голосов | спросил Boris_yo 27 Maypm11 2011, 17:13:01

4 ответа


8

Я подозреваю, что это либо сборщик мусора, либо сборщик циклов.

В about:config изменить javascript.options.mem.log на true. Теперь уведомления о GC и CC должны быть доступны в консоли Error ( Crtl + Shift + J ). Если их время и продолжительность совпадают с замораживанием, то это ваша проблема.

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

Даже это не префект. Если вы открываете много вкладок в Firefox (100+) или много расширений и оставляете Firefox работать несколько дней подряд, это неизбежно замедлит работу. Вам потребуется перезапустить Firefox каждый раз.

Если вы похожи на меня и имеете тенденцию собирать большую коллекцию вкладок, с которыми вам нужно столкнуться, в какой-то момент другой трюк я использую, чтобы установить browser.sessionstore.max_concurrent_tabs до 0. Это заставит Firefox загружать все вкладки вашей сессии при запуске. Вместо этого они загружаются при переключении на них. Я нахожу это, плюс случайный перезапуск Firefox, значительно уменьшает нагрузку на большое количество вкладок.

ответил Mr Alpha 27 Maypm11 2011, 17:34:20
9

В about:config, установите browser.sessionstore.interval к большому числу (это должно быть 10,000 или 15,000; установите значение 600,000).

В принципе, это количество миллисекунд между моментами, когда Firefox обновляет ваш «сохраненный сеанс». Если у вас открыто много вкладок или длинная история просмотра (или, как это часто бывает со мной, и то, и другое), это может привести к смехотворному количеству данных в sessionstore.js каждые 10 или 15 секунд, что может привести к внезапному замораживанию Flash-видео или даже к тому, чтобы весь компьютер застыл каждые несколько минут.

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

Ваши пики CPU должны стать much менее частыми.

ответил Mike 13 MaramTue, 13 Mar 2012 06:47:34 +04002012-03-13T06:47:34+04:0006 2012, 06:47:34
2

Очень сложно сказать. Это просто общее использование, которое вызывает его, или вы обращаетесь к определенному сайту? (У нас возникла проблема, когда браузер получал память с течением времени из-за утечки памяти в jQuery ) .

Предполагая, что вы используете ОС Microsoft, вы можете попробовать использовать Монитор процессов Microsoft . Он выплевывает массу сообщений, но вы можете сузить их до промежутка, где произошло «замораживание», и, возможно, посмотреть, что делает процесс блокировки.

ответил James Wiseman 27 Maypm11 2011, 17:28:07
0

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

ответил CarlF 27 Maypm11 2011, 18:07:09

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132