Why Internet Explorer will kill your memory – Part II

12 Flares Twitter 10 Facebook 2 Google+ 0 Pin It Share 0 LinkedIn 0 Email -- Buffer 0 12 Flares ×

ie8 300x276 Why Internet Explorer will kill your memory – Part II

This is a follow up post for Why Internet Explorer will kill your memory – Part I that I published in March this year. A lot of people have been requesting this and I’m sorry for keeping you waiting so long. I think the reason why this post have been delayed is that I’ve been putting to much into it. I wanted it to cover everything; Internet Explorer 8 tuning, Citrix HDX MediaStream for Flash and so on. Well I just figured out let’s take the IE8 tuning in Part II and then the rest of the stuff can come in some other series.

The setting I’m about to reveal for you will save you a big chunk of memory and money, in both XenApp and XenDesktop environments. By default,  IE8 will start with two instances of iexplore.exe (one for the Frame, one for the tab) and grows the number of tab processes as needed based on the amount of available RAM, the number of tabs, the integrity levels for tabs, and the number of distinct IE sessions. Let’s take a look at some examples :

1 tab – msn.com

IE8 Standard 1 tab 271x300 Why Internet Explorer will kill your memory – Part II

2 tabs – msn.com | facebook.com/xenappblog

IE8 Standard 2 tabs 271x300 Why Internet Explorer will kill your memory – Part II

3 tabs – msn.com | facebook.com/xenappblog | twitter.com/xenappblog

IE8 Standard 3 tabs1 270x300 Why Internet Explorer will kill your memory – Part II

In total memory per user this would be in the correct order : 71mb / 111mb / 154mb

So with only one simple registry setting we can limit Internet Explorer to only run one instance of iexplore.exe for the frame and one for the tabs. This is a REG_DWORD key located under HKCU. For full details check out this MSDN blog post : Opening a New Tab may launch a New Process with Internet Explorer 8.0.

IE8 TabProc Registry Setting 300x178 Why Internet Explorer will kill your memory – Part II

The numbers speak for themselves : 52mb / 62mb / 80mb. I encourage you to check it out right away, and yes it would also work on you personal computer with IE8.

Some other things to keep in mind in terms of Internet Explorer 8 :

  • Add-ons add load times every time you open a new browser window or tab
  • Keep restriced or trusted site zone list to a minimum
  • Keep add-ons and plug-ins up to date. e.g older versions of Adobe Flash may result in browser crashes or hang

21 Responses to Why Internet Explorer will kill your memory – Part II

  1. Mark Bosch says:

    U can use the registry key also in hklm instead of hkcu. This makes it a machine wide setting instead of a per user setting.

  2. ToddH says:

    Correct me if I am wrong, but Google Chrome does this as well. They spawn new processes so you can kill/close individual tabs w/o having to end the entire browser process.

  3. Damon says:

    Setting this in HKLM didn’t work for me…
    Only worked per user, so will have to apply to each user logging in to XenApp!

    You can still close each tab individually, so what was the point of chewing up so much RAM?

    • Trond Eirik Haavarstein says:

      Hi Damon,

      I haven`t tryed the HKLM myself, I always run settings like this in a User Policy HKCU. If a tab in IE8 crashes, only the tab itself are closed down. When you are using this registry hack all tabs will be closed down, but on the positive side you will be using a lot less memory.

  4. Bjarne says:

    I was googeling to check the preformance of IE 9 when i found this.
    IE8 javascript, 10 times faster with Google plug-in. http://www.computerworld.com/s/article/9138459/IE8_runs_10_times_faster_with_Google_plug_in

    • Trond Eirik Haavarstein says:

      Thanks for sharing, if anyone gets time to test it please provide your result here.

  5. Bas says:

    The policy works great. It reduces the memory footprint of ie8 dramaticly. But on the Other hand. IE8 is able to isolate JRE and Jinitator sessions. So you can run multiple sites next to each other whitout the problem of sharing cache files.
    So in some situations the solutions is not preferrable due to limitations of the application set

    • Trond Eirik Haavarstein says:

      Thanks Bas. You are correct, all environments are different, so this is just a recommendation on how you could lower the memory footprint.

  6. Lowes says:

    Is this also related to ie9 ?

    • Trond Eirik Haavarstein says:

      Hi Lowes,

      I’ve not tested IE9 yet since there are still too many bugs

  7. Uraken says:

    Are we saying this will only work set as a per user setting? If so how would one apply it to effect all users that could potentially log onto any one of 24 servers in a farm?

    • Trond Eirik Haavarstein says:

      This setting can easily be set with Group Policy Preferences (GPP). This will effect all existing and new users. If you download my eBook you’ll get instructions on how to use GPP. You can however use either HKLM or HKCU settings.

  8. uraken says:

    Thanks Trond, can you send me the link to the GPP ebook download please i wish to trial this setting.

  9. uraken says:

    Sorry cancel that last request (i’m losing my marbles here..) i already have the book, its brilliant thanks again.

  10. Sam says:

    There is a Group Policy for this setting, much easier than setting a registry key IMO.

    Computer Configuration > Administrative Templates > Internet Explorer > Set tab process growth

    set to 0

    We found that every 150MB for single tab growth, it was only using 100MB for zero tab growth. If one tab hangs and you restart the process, IE will automatically try to recover all tabs.

  11. Curtis says:

    The challenge here is if you have to do a run as instance of IE8. For example using citrix edgesite in ie8 i have to do a run as to launch ie and then go to the edgesite url or i am blasted with logins over and over.
    sure i’m sure there is a way to resolve that in the edgesite config but there are other times runas is the way to get some site to work. If you set the value to 0 the run as functionality can break.

    what about using the the entry of low via group policy so that it maxes at 5 tab processes?

  12. Mo says:

    My 2-cents, for my environment, which is XA 6.5 on Server 2008 R2, this seems to have worked for me for IE 9, but for the 32-bit Internet Explorer, not the 64-bit. When running the 64-bit IE, the iexplore.exe process would still get out of hand. But with the 32-bit process, it seems to be more controlled. Just my observation.

Leave a reply

Name: Email:
12 Flares Twitter 10 Facebook 2 Google+ 0 Pin It Share 0 LinkedIn 0 Email -- Buffer 0 12 Flares ×