4

Firefox обычно зависает примерно на секунду, когда я ищу что-то из окна поиска на панели инструментов, при отправке формы или при очистке истории окна поиска. Я подозреваю, что это как-то связано с функцией автозаполнения. При использовании Resource Monitor в Windows 7 проблема, похоже, в файле:

C:\Users\<username>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>\formhistory.sqlite-journal

Я считаю, что это временный файл, который кэширует записи в базу данных. На следующем снимке экрана показано очень высокое время отклика для шести различных поисков, а также то, что длина очереди на диске C снимает шкалу:

Мой профиль Firefox находится на твердотельном накопителе Intel X25-M G2. Кажется, проблема не возникает, если я создаю новый профиль на жестком диске. Тем не менее, я хотел бы знать, почему проблема существует на SSD в первую очередь (потому что это раздражающая проблема, которая противоречит причине, по которой я купил SSD, и это может произойти и с другими приложениями), и как ее предотвратить. Это все еще происходит, если Firefox запущен в безопасном режиме и с последними бета-версиями.

Обновления:

  • ВАКУУМНАЯ база данных профиля Firefox не помогает с этой проблемой.
  • Оптимизатор SSD в Intel SSD Toolbox тоже не помогает.

3 ответа3

3

Вы можете извлечь выгоду из очистки пылесосом баз данных sqlite. Эта команда должна сделать это (в Linux):

cd ~/.mozilla/firefox/dasda418.default
for i in *.sqlite
do
echo 'vacuum;' | sqlite3 $i
done

где dasda418.default - это ваш фактический каталог профиля Firefox. Очевидно, вы должны сделать это, когда Firefox не работает. В Windows команда выглядит так:

for %i in (*.sqlite) do @echo VACUUM; | sqlite3 %i

Это сократит базы данных, уменьшит их и может решить вашу проблему.

3

Я согласен с гориллой по поводу очистки базы данных. Более прямой метод, независимый от ОС, - через консоль ошибок Firefox (меню «Сервис» /«Консоль ошибок»)

В текстовое поле Код вставьте это (это одна строка):

Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsPIPlacesDatabase).DBConnection.executeSimpleSQL("VACUUM");

Нажмите Оценить. Весь пользовательский интерфейс будет зависать на несколько секунд, пока базы данных VACUUMed

mozillalinks

1

Вы пытались отключить де дисковый кеш? В Свойства диска -> Оборудование -> Свойства -> Политики: снимите флажок Включить кэширование записи на устройстве. Ваша проблема напоминает мне мою, и я думаю, что она связана с этим флажком. Я не знаю, почему я должен сказать, поскольку это должно улучшить производительность, даже для диска SSD. Но так как я снял этот флажок, я больше не испытываю замедления в Thunderbird. Я желаю, чтобы это сделало то же самое для вас.

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