Some of you will love this, and some of you are going to flame me. I don’t care about the haters though. Even though a fellow TYPO3 developer friend pointed out regarding my solution, “There has to be a better way. There probably is”, I’m posting this as a help to all the Firefox users of the world who are sick to death of the phantom Firefox memory leaks.
We all know Firefox leaks memory for one reason or another. It’s been years. Plugins have come and gone and Firefox just leaks all the time. Period. What to do?
It’s time to hit Firefox with a sledgehammer. Like a boss.
This requires just the slightest bit of Mac OS savvy, but not much, or else I couldn’t have done it. Windows is a bit easier, but I’ll post the Mac version first and follow up next week with the Windows solution.
The solution is to simply kill and restart Firefox as quickly as possible. Boom. Done. Firefox goes from sappy to snappy in about 1 second. Firefox tries to restore you tabs when it “crashes” so you should be good. On the Mac, you might get the “restore” or “new session” buttons. On the PC, for me at least, it comes right back up without the question.
This has been tested on Firefox 3.x, 4, and now 5 on both Mac and PC. Your mileage may vary.
Make sure you aren’t composing an email in a webmail interface or anything before you test this!
But wait! Am I really sure Firefox has a memory leak? I present my anecdotal evidence:
How to kill and restart Firefox on a Mac in 1 second
- Create a text file, like “killFirefox.txt” somewhere on your Mac.
- After saving it as a .txt file, change it to “killFirefox.command”
- Paste this into it:
killall -c firefox-bin sleep 1 open -a Firefox sleep 1 exit
- Now open Terminal and navigate to wherever you saved the file. You’ll have to Google how to use Terminal commands, or get an “open terminal here” plugin for Finder (like I have)
- Once you are in the directory where “killFirefox.command” is, run the following command to make your .command file executable. This means that after you do this, you’ll be able to double-click “killFirefox.command” and the script will run:
chmod 755 killFirefox.command
- Now go back to Finder or wherever you saved the file, and drag it to the RIGHT side of the “dashed line” on your dock if you want one-click access to the process:
- Try it!
- Happy Firefox rebooting! Goodbye slow and sappy Firefox—until a real solution is in place!
You may have to alter the “sleep 1” to something longer, like 2 or 3 seconds if your Mac is too slow. You may also have to put in a different path, but I’m no terminal expert. Also, to set the Terminal window to close after the process finishes, you’ll have to edit the preferences like this: Terminal > Preferences > Settings > When the shell exits = Close the window
How to kill and restart Firefox on a PC in 1 second
- Create a file, like “killfirefox.txt” on your desktop or somewhere handy
- Paste this into it:
taskkill /f /im firefox.exe start /wait "" "C:\Documents and Settings\[--Your User Account Here--]\Local Settings\Application Data\Mozilla Firefox\firefox.exe"
- You’ll want to make sure you put in your user account name in the path, and delete the “Your User…” holder text
- Your path to firefox.exe, as listed above, might also be in a different place. You’ll have to find it and confirm.
- Rename the file extension from “.txt” to “.bat”
- Double click your new .bat file and voila!
- Make a shortcut and drag to your quick links bar, or some other handy place
So you have a better way to do this?
Save your negative comments for the comments section on msnbc.com. In the meantime, post instructions on a better way. For example, how to do this in AppleScript so you end up with a real “app” you can put in the Dock in a nice way.
Any other thoughts? Let’s here them!