RSS

Archive for ‘ June, 2006

Building summary file for Inbox…

If…
* you receive the message Building summary file for Inbox… in your Thunderbird status bar (with any mail folder) and it takes forever or never finishes, or
* clicking Compact on any folder no longer does anything, or
* items show up in parenthesis as if they are unread but there are no unread messages in said folder
…then your mail folder index files need to be deleted. They will get recreated when you view the folder again. Note: you will lose the sort style for each folder for which you delete the index.

  1. Exit Thunderbird completely.
  2. Start > Run > %appdata%\Thunderbird\Profiles
  3. Double-click on the profile folder you are currently using (which usually ends in ".default").
  4. Double-click Mail.
  5. Press F3 (or click Search) to bring up the search sidebar (2000/XP only).
  6. Choose All files and folders if you are using the Standard search setting.
  7. Search for *.msf.
  8. Delete all *.msf files found.
  9. Open Thunderbird and click on each of your folders (Unsent, Sent, Drafts, Trash, etc) so that a new index can be created.

This happened to me because I've been using nightly builds for about a year, and the index files are getting confused across the various builds (I suspect they might have changed the format).

Old myths never die

Can we get a Snopes.com for technical urban legends?
I should totally do that on my wiki!

It's 2006, and somehow, people still apparently believe that Windows XP does not allow you to use all of your bandwidth because of a service called QoS (Quality of Service). This is patently false.

People also think that cleaning the Prefetch folder helps, or that not cleaning it will somehow lower your performance. I would have thought a site like "windowsnetworking.com" would have been a bit more professional about these things, but I can't have everything. They said, and I quote (emphasis theirs):

Prefetch when unattended can also slow down your system. This is because over time

* XP will retain a copy of a portion of a program in the prefetch folder even if you only use it one time, which is not good. Since you may not use the program again, you may impact the performance of your system by having portions of a program you do not use loaded in your system's memory.
* XP systems with very low hardware resources (such as memory and hard disk space) will definitely be affected by an over-bloated prefetch folder.

This is bull. Let's break it down:
* XP will retain an index of the locations of files needed by a process in the prefetch folder even if you only use it one time, which is not a big deal. Windows XP automatically prunes old entries after a 129th entry (or more) needs to be created. At worst, you're going to lose less than 20 MB of hard disk space (my prefetch is currently using 4MB).
* XP systems will very low hardware resources (such as memory and hard disk space) are already at a disadvantage, but without prefetching, it would be even worse. There is no advantage in deleting prefetch entries…. and the only time prefetch entries need to change are when the files they are prefetching have changed (such as being upgraded by a Windows Service Pack or hotfix). And as previously stated, they will automatically be pruned to just 128 entries. At least someone out there knows what they're talking about. If you delete all of the prefetch files, they have to be prefetched *again* (which comes at a performance loss), and doesn't that seem like a waste of time?
* Windows doesn't load things in the Prefetch folder unless you're actually attempting to run the program, so claiming that Windows erroneously loads files in there that no longer exist (and thus need to be cleaned) is also patently false.
* Ed Bott said: It doesn’t actually preload anything into RAM until you run the program, and when you do that, prefetching only works if you have RAM to spare.

Notes from Microsoft:
* Once every three days, by default, Windows XP will perform a partial defragmentation and adjust the layout of the disk based upon current use. The files to be moved are written in the file Layout.ini (found in the Prefetch directory under the System Root directory). [1]
(Dial-a-fix's "Process Idle Tasks" tool forces this to happen sooner than 3 days).
* Windows XP also uses prefetching when launching applications. The files and the contents of the files accessed by each new process are observed and recorded. No prefetching can be done for the first launch of an application, so first launches are often considerably slower than subsequent launches. About 85% to 90% of the improvement is realized after just one launch of an application, with the remaining speed improvement coming after the system has had an opportunity to adjust the disk layout with information specific to this application. [2]

Also, search for "prefetch" here.

Anyway, these technical myths are extremely annoying to technicians (such as myself), who constantly have to disprove these dubious claims to customers.

It's not a memory leak

If you're not a developer or don't know what a memory leak really is, then stop using that phrase when you're describing Firefox's memory usage/management. Stop it. Unless you are a developer or advanced technician and have actually identified a real memory leak, stop using that term.

First, you need to become familiar with the fact that the numbers reported by Task Manager ("Mem Usage" and "VM Size" to name a few) are not a realistic measurement of the memory being used by a process.

It is important to know that to improve disk performance and to lower disk thrashing and paging, Firefox no longer frees the memory used by previous site renders and opened tabs. This way, if you visit a site again or use a resource that was recently used, it is immediately ready. Also, by hanging on to a huge window of memory, it is available to Firefox on demand without Windows having to page out some other program to disk to make room for a newly opened tab. The result is visible performance. Tabs and windows open/close faster, etc, and disk thrashing is very minimal.

They fixed one "problem" of disk thrashing and paging to curb some users, and others see it as a huge drain on system resources (which it's not).

The memory that Firefox is holding onto is not going to be freed unless it is necessary. If you open Photoshop (or something similarly huge) and start doing filters on a 300 DPI 3000×3000 pixel image, you'll see Firefox get paged out immediately, and the memory it's holding onto will drain away. If you are not doing anything other than using Firefox, why /should/ Firefox free the memory? Your system doesn't have xy MB of RAM for not using, it's for using. The more memory you have, the more memory Firefox will allocate. To claim that the fact Firefox is using 200 to 500 MB of your system RAM when you're not doing anything else and have 1GB+ RAM is a memory leak is just out of control.

Why does it seem like Internet Explorer uses far less memory? IE uses Windows' default memory management method, which I'll call the "low performance/disk thrashing" model. It's also important to note that half of Internet Explorer's dependencies are already in memory due to the fact that they are also used by Explorer, and other parts of the shell.

You should also take a hard look at the extensions you have loaded in Firefox, as some of them can be downright buggy. Tabbrowser Extensions (not to be confused with Tabbrowser Preferences), for instance, is a pretty unstable memory hog, known to cause actual memory leaks. Replace an extension like this with a far superior one, such as Tab Mix Plus.