Nathan Grennan wrote:
I figured it all out. The main issue was my use of a Firefox 3.0
nightly. From Firefox 3.0b3 on Firefox is very fsync happy. As in ever
time you load a page it fsync about eight times. Do things in the
middle of a big write and performance goes all to hell. I have filed a
bug upstream, https://bugzilla.mozilla.org/show_bug.cgi?id=421482 .
I ran across this idea by reading, http://kerneltrap.org/node/14148 .
The first e-mail from Ingo as a reply to another one of his earlier
e-mails mentions a case a lot like mine. Quad-Core, 4gb ram, and 30
second pauses in vim. He mentions vim uses fsync. He mentions an
option, but it isn't good enough. You have to also change set
swapsync, like below.
I then straced vim and found any hiccups in the output were directly
related to when vim ran fsync. I set the options, and the problem
seemed to go away.
Finally I turned to Firefox 3.0 nightly, and straced it. I found the
problem. I then went back to Firefox 2.0.0.12, and straced it. I found
it didn't have the same problem. So as nice as Firefox 3.0b3 or later
is, it is a recipe for unhappiness.
set swapsync=sync
set nofsync
But this is just a symptom of a bigger problem. As the Kernel Trap
url above mentions, ext3 + fsync = crappiness. So my next step will be
to talk to the right developers, learn as much as possible, and see if
a solution can be found. Otherwise I may completely give up on ext3
and move to another filesystem.
The latest news is that this is most likely, because of Firefox 3.0b3+
use of sqlite. There was already another bug abotu poor zoom performance
which relates to sqlite.
https://bugzilla.mozilla.org/show_bug.cgi?id=417732