I get this error in my SQL 2012 Server log several times a day - "AppDomain XXX(master.sys[runtime].XXX) is marked for unload due to memory pressure." I am trying to figure out what is using up the memory. Server has 10 GB, with 8 GB assigned
to the SQL Instance.I would normally expect most of it would be used by the SQL Buffer Cache but it's not the case.
The dm_os_memory_clerks seems to indicate a large chunk of the memory (about 2 GB each) is being used byMEMORYCLERK_SOSNODE and OBJECTSTORE_LOCK_MANAGER, with the SQL Buffer cache using just a couple of hundred MBs.
How do I find out what is causing this, and is it possible to release this memory ? sp_lock shows minimal locks (less than 100) so I am puzzled as to why the OBJECTSTORE_LOCK_MANAGER is holding on to 2 GB... and secondly, what would the SOS_NODE need
2 GB for ? I have been digging around but unable to find further info on this.
sys.dm_os_performance_counters (below) indicates almost 5 GB is taken up by 'Stolen Server Memory', which approximates with the totals in dm_os_memory_clerks minus the MEMORYCLERK_SQLBUFFERPOOL.
Thanks.
Neil S.