none
OpsMgr Console 'momcache.mdb' file growing excessively RRS feed

  • Question

  • Hi all,

    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\<USER>\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.

    Please help!

    Thanks,
    Kristian
    Wednesday, September 2, 2009 3:40 PM

Answers

  • Hello Kristian,
    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.

    Example:
    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.
    Michael Pearson
    OpsMgr Performance Test Team

    This posting is provided "AS IS" with no warranties, and confers no rights. Use of attachments are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm
    Thursday, September 3, 2009 1:45 AM

All replies

  • Hi Kristian.

    Good question. I have seen this question before and then the only workaround I could come up with was to relocate the userprofiles directory entirely to another partition.

    Another approach could be to decrease the frequency which the console uses to poll the SDK service. Default it is 15 seconds. But this has other disadvantages (Console showing 'stale' information for instance.) Matt Goedtel has written a good article about it, found here: http://blogs.technet.com/mgoedtel/archive/2008/04/26/disk-space-requirements-for-the-operations-console.aspx

    I know these aren't solutions, workarounds at its best.
    Best regards, Marnix Wolf

     

    (Thoughts on OpsMgr)
    Wednesday, September 2, 2009 5:57 PM
    Moderator
  • Hello Kristian,
    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.

    Example:
    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.
    Michael Pearson
    OpsMgr Performance Test Team

    This posting is provided "AS IS" with no warranties, and confers no rights. Use of attachments are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm
    Thursday, September 3, 2009 1:45 AM
  • Anybody knows how to redirect  momcache.mdb's folder on Windows 2008 R2 SP1?

    On our management servers there is no 'localappdata' environment variable.

    There is a registry key 'Common AppData'at:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

    with the value

    '%ProgramData%'

    however that does not seem to correspond to the current path of momcache.mdb which is:

    C:\Users\c_ebiram\AppData\Local\Microsoft.EnterpriseManagement.Monitoring.Console

    Many thanks in advance


    Erdöl Biramen SQL Server DBA DCS Application Infrastructure Engineering and Support Global IT Operations  IT Shared Service Centres Phone: +41 (0)56 205 95 07 Fax : +41 (0)56 205 54 66 Gsm : +41 (0)79 722 11 52 E-mail : erdoel.biramen@alstom.com

    Wednesday, October 10, 2012 12:23 PM
  • Hi Michael -

    We may know what's the update for this issue? Seems we are also encountering the same problem with our Citrix environment. We are currently using SCOM 2012 R2 and we have multiple Citrix servers that SCOM console is installed.

    Please advise.

    Thanks!

    Marlon

    Thursday, March 30, 2017 11:57 PM