Archive for October, 2009


October 12, 2009 Leave a comment

There was a great thread on the forums about publishing the operator console through Citrix:

Just in case the thread disappears, here is the question:

“Our users use Citrix to access the OpsMgr Console, and I’ve noticed (even after SP1) that the momcache.mdb file on these Citrix servers can grow in excess of 3GB quite easily. In fact, a standard opening of the console (not doing anything else) will give you a cache file in excess of 150MB.
These files are stored in the “%SystemDrive%\Documents and Settings\\Local Settings\Application Data\Microsoft\Microsoft.Mom.UI.Console” directory by default, which is causing us som grief.
We have literally hundreds of users (not simultaneously), so as you can imagine we need Citrix servers with a huge system partition in order to be able to store these cache files properly. If we have 50 users at an average of 300MB each, that still requires us to have 15GB free on the system partition. This is a very conservative figure.
And yes, the OpsMgrx console is already installed on multiple Citrix servers. 🙂

In order to stop this happening, I’ve re-instated the /ClearCache option so these cache files are deleted, but this has affected OpsMgr console performance (as expected).

I’d like to know if it’s possible to redirect the location of this cache file from the %SystemDrive% to another partition (on the same Citrix server) which has much more space available.
Is there a registry key or switch that can restrict the size that they can grow to?
Without being able to ‘control’ the location or size of these files, we have no option but to include the /ClearCache option even though we know this severely affects the performance of the console. This is a REAL problem which needs to be addressed.”

And here is the Microsoft answer:
The Cache file can be redirected! You need to change the location for the LocalAppData folder.

Here’s some instructions I found for this:

“the momcache.mdb can be redirected with the local appdata folder value.
easy way to test:
In Vista and above its an environment variable “localappdata”
In W2K3 its HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Local AppData

the folder can be redirected via group policy.”

As far as controlling Cache File size, currently there’s no way to do that. There’s some internal logic built into the Cache code that determines what the maximum size of the cache file can be. Without getting into too many details, the Cache will look how how much free disk space is on teh drive that it’s writing to. If there’s more than 1GB free, it will use Free Space -1GB as the maximum file size. Unfortunatly, that logic doesn’t work well in Citrix deployments.

20 Users on a Citrix Server
10GB free on the drive that hosts the LocalAppData folder

All 20 users open the Console. The Cache logic determines that the max file size for the cache is 9GB since there are 10GB free. The problem is that this is 9GB per instance of the console! So 20 Users times 9GB = 18GB maximum cache file size for all users on 10GB’s of free space.

This is a known issue and we have bugs tracking several Citrix / Terminal Service Console deployment issues. I don’t have any ETA for fixes, but we are looking into it for the next version after Opsmgr R2.

For now, your best option is to move the Cache file location and assume 1-2GB at least per user for the Cache file. Even that might not be enough in some cases.

Categories: Consoles, Operator