Multi-process Firefox is a go

firefox multi process

Firefox has been a single-process web browser for all of its life. This was not much of an issue until Microsoft and Google introduced a multi-process architecture to their browsers.

The idea was to improved the stability and security of the web browser by moving all websites that you open in tabs in the browser into their own process.

As far as stability is concerned, a single tab crash does not necessarily take the whole browser down with it in multi-process browsers. And for security, it ensures that exploits do not get the same level of access as the main browser thread, effectively sandboxing each opened site.

Firefox's E10 project (Electrolysis)  was started back in 2009, but was put on hold in 2011 as Mozilla wanted to concentrate resources on projects that yielded a faster return. Projects like Snappy, which aimed to make Firefox more responsive, were a huge success and improved the responsiveness of the browser significantly.

Since the beginning of 2013, a small but dedicated team has been working on bringing a multi-process architecture to the Firefox web browser.

Today, part of it launched in Firefox Nightly. You can enable multi-processes in Firefox right now if you are running the latest Nightly version of the browser.

Note: It is highly recommended to use a new or test profile for that as you cannot take over your open tabs with you. While they are not lost, it makes things more usable if you do. (To regain tabs, simply switch the preference mentioned below to false again).

To enable multi-processes in Firefox do the following

  1. Type about:config into the web browser's address bar and hit enter.
  2. Confirm that you will be careful if this is your first time here.
  3. Search for browser.tabs.remote
  4. Double-click the preference to set it to true.
  5. Restart Firefox.

If things turned out well, Firefox should restart and display a single tab in its interface. You will notice that the tab is underlined, which indicates that it is running in its own process.

It needs to be noted that E10 is a work in progress, and that the project has a long way before it is ready to be shipped in Firefox Stable.

If a tab crashes, you get the following error message:

Tab crashed

Well, this is embarrassing. We tried to display this Web page, but it is not responding.

Try Again.

For now, basic functionality has been integrated which means that you can use things like navigating, using the url and search bar, context menus, bookmarks and tabs for example. Others may not work yet, like developer tools or saving pages to disks.

As far as addons are concerned, you will notice that some will work without issues, while many won't just yet.

For now, Firefox will continue to use a single content process and not multiple content processes. If you open the Task Manager, you do not see individual firefox.exe processes for each website that is open in the browser like you see when using Chrome. This is a work in progress, and the feature will be implemented eventually.

Memory usage on the other hand is similar to single-process Firefox. The overhead is just 10 Megabytes in comparison, and the developers have stated that they may be able to reduce it further.

That's definitely good news considering that Firefox's excellent memory usage won't inflate because of this feature.

Additional information about the current implementation, and what's in store for the future, are available on Bill's blog.

facebooktwittergoogle_plusredditlinkedinmail


Filed under:

Responses to Multi-process Firefox is a go

  1. ilev December 5, 2013 at 11:36 am #

    About time.

  2. alxctc December 5, 2013 at 11:48 am #

    Firefox 25.0.1 32bit with this option in "about:config", after I enable it, and restart firefox, no tab load, and bookmark bar disappear, input URL in addressBar and press enter, nothing show just a blank page, after 3s firefox crash.
    Re-opening a fresh process of firefox, there is the same situration, require to visit my firefox profile folder to edit the "prefs.js", to turn back the "browser.tabs.remote" to "false", and firefox come back to normal, and single thread.

    Don't know it's my case or anyone else with same issue.

    • Martin Brinkmann December 5, 2013 at 12:58 pm #

      This has only been enabled for Nightly Builds of Firefox right now.

      • geeknik December 8, 2013 at 11:54 pm #

        That isn't exactly correct. These options have been in Firefox since at least Firefox 24 was in the Nightly channel, so even if you go back and install Firefox 24, you'll still have these options and it still won't work. Every version of Firefox was a Trunk (or Nightly build) at some point in it's lifespan.

  3. Paul December 5, 2013 at 1:45 pm #

    Responsiveness FTW!
    Thanks for the info.

  4. Dwight Stegall December 5, 2013 at 2:52 pm #

    It went just like you said. But clicking on that single tab brought up the crash reporter panel, twice in a row. I'll try it again in a week to see if it works better. Sounds good though.

    • Kevin December 6, 2013 at 8:00 am #

      Yep, same exact thing happened here.
      Can't wait to see how this works once it's had a bit more time to mature. :)

  5. Dan December 5, 2013 at 4:17 pm #

    Is each individual tab going to have a memory leak now? I mean this sincerely and not as a wise ass comment.

    • Caspy7 December 5, 2013 at 5:58 pm #

      Firefox currently beats the other browsers in memory usage with multiple tabs open, if you're implying that it has a special memory problem compared to others.

      Also, if by saying "a memory leak" you're implying that there is just one, well, that kind of betrays the complexity of a browser. Back when Firefox's memory situation was particularly out of hand, there were many kinds of memory issues. Any issues or inefficiencies that remain though, surely count themselves beyond the singular.

      • Dan December 5, 2013 at 7:40 pm #

        That's why I ask. I've tried chrome and each tab process seems to use as much RAM as firefox does. I always come back to firefox. I just don't want each process to be using as much RAM as the old single process did.

    • Caspy7 December 6, 2013 at 12:05 am #

      At the end of this post he linked the original blog post where most of this information is found.
      Here's the anchor to the bit about memory: http://billmccloskey.wordpress.com/2013/12/05/multiprocess-firefox/#mem
      The short answer is that the developer believes that Firefox should be able to stay at about the same memory usage and still be multiprocess. Reading that section I linked may assuage your fears about it.
      I know I'm relieved. I thought it was the nature of the multiprocess architecture that causes Chrome to be such a memory hog - and that Firefox might also have a similar fate. Turns out they just really suck at memory management.

  6. Chris S December 5, 2013 at 4:33 pm #

    Does this also break chrome and page rendering in separate processes?

    My main issue with Firefox's responsiveness is that when loading javascript heavy pages the UI freezes

    • Omega X December 5, 2013 at 10:29 pm #

      Yes, it does. Chrome and Content exists in two separate processes.

  7. jonnny December 5, 2013 at 10:29 pm #

    I wanted this in firefox, but i'm afraid it will use the same high amount of ram as Chrome..

  8. Saad December 6, 2013 at 5:51 am #

    when i enable Multi-process , then after restart firefox shows a xml error and not open any website.

  9. frank December 6, 2013 at 9:05 am #

    am i seeing this right: not even the context menu is working like it used to? copy, paste and search for... are all gone. Ctrl+C, Ctrl+V doesnt work...

  10. kustodian December 6, 2013 at 11:49 am #

    I'm not a big fan of Firefox going multi-process, since I don't see a big benefit and mostly see it as an excuse for bad engineering. I use both FF and Chrome on a daily basis and if you ask me about stability, I would say they are the same. Even if Chrome is multi-process it still happens that the whole browser crashes. I'm not exactly sure if I understand the security side of having separate processes, not because I don't understand what is process separation, but because I never heard that one tab has stolen information from another tab in any browser :D

    We all know that Chrome is a memory hog compared to FF and if FF goes multi-process as well it will have to use more memory than the current single process version, since there will need to be an overhead of creating new process and memory which cannot be shared between processes. Even though it can probably be done more efficiently than in Chrome, but still I don't see a good enough gain to do it now. Just think about the stability, problems it will have...

    One good side I see though is that when you install an extension it won't need a full browser restart, new tabs would enable the extension automatically.

  11. jfjb December 7, 2013 at 9:49 pm #

    resulted in blank screen...
    rebooted.... blank screen...
    rebooted, blank screen...
    try loading another -- any -- site, blank screen
    setting undone
    rebooted, normal screen view of the -- any -- site
    FF 25.1 Win7 Pro
    what gives?

    • Olly December 10, 2013 at 1:44 pm #

      As the article says, "Today, part of it launched in Firefox Nightly". Firefox Nightly is presently Firefox 28, three major versions ahead of where you are now. Even then, it's still very unfinished, rough around the edges and probably has squillions of bugs :)

  12. pinguy December 10, 2013 at 5:16 pm #

    Not all Firefox users use .exe files, just sayin :/

Leave a Reply

Subscribe without commenting