An often seen issue with SDL Tridion 2009 is that the
SDL Tridion Content Manager COM+ application does not have a memory limit set and it will be using up too much memory on the server. There can be multiple causes for this, there are known memory leaks which have been solved by hotfixes, but it is also just a standard behavior of COM+ to not do a timely release of its resources which lead to high memory usage.
The only solution (besides making sure all required hotfixes are installed, contact Customer Support for the specific details) is to recycle the
dllhost process when it takes up a pre-determined amount of memory.
You set this inside the Component Services -> Computers -> My Computer -> COM+ Applications
properties on the Pooling & Recycling tab.
- Set Pool Size to 1
- Set Lifetime limit to 0
- Set Memory Limit to 524288 (512 MB) or choose your own limit (see note below)
- Set Call Limit to 0
- Set Activation Limit to 0
After making these changes, be sure to restart your system (or restart all the Tridion Services).
With regards to the memory limit you set it is important to understand the recycling process. Once the set memory limit is reached, the COM+ application will be recycled, this basically means the following:
- a new
dllhost process is started for all new handles
- the old
dllhost process stays alive till all its handles are released
Because of #2, this basically means that at the time of first recycling, you will have two process alive which can consume your configured memory limit. So at minimum your system should have double the memory of the configured limit available.
But keep in mind, that COM+ is slow in releasing handles, so it can take time and is not uncommon to see the new
dllhost process reach its memory limit and thus a third process is stated (while the first two are waiting for their handles to be released).
All in all, you will have to expect the
dllhost process to consume a lot of memory on a busy server. So make sure you have enough memory on the machine, or outscale and balance the load over multiple servers.
Last note, upgrading to SDL Tridion 2013 should also certainly be considered as an option to get rid of this issue.