Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Firefox usually freezes for about a second whenever I search for something from the toolbar search box, when submitting a form, or when clearing the search box history. I suspect it has something to do with the auto-complete feature. Using Windows 7's Resource Monitor, the problem seems to be from the file:

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

I believe this is a temporary file which caches database writes. The following screenshot shows the very high response times from six different searches, and that the queue length on drive C shoots off the scale:

enter image description here

My Firefox profile is on an Intel X25-M G2 SSD. The problem doesn't seem to occur if I create a new profile on a hard disk drive. However, I'd like to know why the problem exists on the SSD in the first place (because it's an annoying problem which contradicts the reason I bought an SSD, and it might happen with other applications too), and how to prevent it. It still occurs if Firefox is started in safe mode, and with the recent beta versions.

Updates:

  • VACUUMing the Firefox profile databases does not help with this problem.
  • The SSD Optimizer in the Intel SSD Toolbox does not help either.
share|improve this question
    
I know it's been a while, but did you ever find any answer to this? (I'm curious in general -- not looking for specific remedy for this Firefox version) –  Coldblackice Jun 12 at 4:11
add comment

3 Answers 3

You might find a benefit from vacuuming the sqlite databases. This command should do it (on Linux):

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

where dasda418.default is your actual Firefox profile directory. Obviously you have to do this when Firefox isn't running. On Windows the command is:

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

This will compact the databases, making them smaller and might solve your problem.

share|improve this answer
    
Interesting suggestion, but this is on Windows, so I downloaded sqlite3.exe and put it in C:\Windows\System32. I then vacuumed places.sqlite (using "sqlite3 places.sqlite VACUUM;"), and the reindexed it, but the problem still exists. Is this the correct command for Windows? –  sblair Dec 13 '09 at 1:05
    
Form entries are stored in formhistory.sqlite, so try that file. That's the right syntax, if you're pressing return after the sqlite3 command and before 'vacuum;' –  gorilla Dec 13 '09 at 1:56
    
Via Firefox's Tools menu/Error Console, Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Comp‌​onents.interfaces.nsPIPlacesDatabase).DBConnection.executeSimpleSQL("VACUUM"); mozillalinks.org/wp/2009/08/… –  outsideblasts Dec 13 '09 at 1:59
    
Sorry for terrible formatting. I'll put this as an answer for that purpose, but gorilla, you get the +1. –  outsideblasts Dec 13 '09 at 2:00
    
Ahh, I got this to run on Windows for all the databases using: "for %i in (*.sqlite) do @echo VACUUM; | sqlite3 %i" (from gettingclever.com/2008/06/vacuum-your-firefox-3.html). However, the problem continues, so I believe it is to do with the way the database write cache (formhistory.sqlite-journal) is written to my SSD, and not to do with maintaining the databases. –  sblair Dec 13 '09 at 19:08
add comment

I agree with gorilla about vacuuming the database. A more direct method, independent of OS, is through Firefox's Error Console (Tools menu/Error Console)

In the Code text box paste this (it’s a single line):

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

Press Evaluate. All the UI will freeze for a few seconds while databases are VACUUMed

enter image description here

mozillalinks

share|improve this answer
    
This is a useful trick, but it has not affected my issue. Also, as the link points out, it only optimises the places database; as gorilla suggests, the other databases may need VACUUMing. –  sblair Dec 13 '09 at 18:56
add comment

Have you tried to disable de disk cache? In Disk properties -> Hardware -> Properties -> Policies : uncheck the Enable write caching on the device You problem reminds me mine, and I think it's related to this box checked. I don't know why I must say as it's supposed to improve performance, even for a SSD disk. But since I've unchecked it, I am not experiencing slow downs in Thunderbird anymore. I wish it will do the same to you.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.