You usually don’t have to talk to someone very long who’s a long time Firefox user for them to mention the words ‘Memory Leak’. This is something that seems to have been plaguing the popular web browser for quite a while now. Even though Mozilla have done a lot of work in this area to try and get things under control, a lot of people still complain that it’s using far more memory than it should. The memory leaks get worse the longer Firefox is left open and after several hours or a few days consumed memory of well over a Gigabyte is not uncommon even with only a few tabs open.
I have to admit I have not really used Firefox for a while now, apart from loading it up to have a quick look now and again, but even with the accelerated release schedule these days similar to Chrome’s, this issue still seems to be one of the most complained about from users. Some less experienced people get a little confused about what is a memory leak and what isn’t and complain that Firefox uses too much memory when it starts up. That is more memory usage than leaks and can also be a problem in itself if you startup with loads of open pages and installed extensions. Memory leaks are noticeable and happen over a period of hours, when the memory usage will go up, but doesn’t seem to go down a lot, or at all, even if you close all of the open tabs.
While a browser using up a Gigabyte of memory on system with plenty to spare, isn’t really going to cause a major problem, on a machine with less, things could slow down considerably. Thanks go to one of our forum moderators, Murphy, who pointed me in the direction of a little utility that aims to help eliminate Firefox memory leaks and greatly reduce the amount resources it consumes during use.
Firemin is a simple tool that works using an API function called ‘EmptyWorkingSet’ which cleans up the memory workspace of the Firefox process and frees up the memory it doesn’t need. The program sits in the background while Firefox is running, watches its memory usage and runs the optimization accordingly. As well as the memory optimize function, Firemin also has a similar feature to the well known Speedyfox utility which will compact the Firefox SQLite databases and potentially help improve performance. The program is freeware and also portable so can be placed anywhere. Once started, it goes straight to the system tray and is ready to do its work. Right click the tray icon and select ‘Options’ to check or alter a couple of settings.

There are only a couple of options available and the important one is the slider. Firemin offers a trade off here; the more you move the slider to the left, the less memory Firefox will be forced to use but the more processing power is required to keep it that way. Obviously, the opposite applies the more the slider goes to the right. The more memory you let it have, the less hard it has to work to keep things in check. The other option is whether to launch Firefox when you start Firemin which would need the ‘Firefox location’ box pointing to the correct folder.
The SQLite database optimize function is available through the tray icon context menu and simply click it to start the compacting process. Firefox will need to be not running to do this.

As a simple test, I loaded up Firefox with several tabs and extensions to get the memory usage up high.

Then Firemin was started to see what happens to the memory usage. The result was quite startling….

It went from around 1GB to just over 3MB! Impressive numbers indeed and I never really noticed any performance drop or problems viewing the content of the multiple tabs that were open.
This is obviously a tool that some people won’t get a great deal of mileage from if you have a fast processor and stacks of RAM, or you never leave Firefox open for more than an hour or two at a time. But for users who have more normal spec systems or like to have Firefox constantly open in the background, Firemin could be well worth a try. It is reported to work with Waterfox as well.
Compatible with Windows 2000, XP, Vista, 2008 and Windows 7 32bit and 64bit.
Related posts: