Out of Memory Errors on Enlisting Orchestrations
[Note - this issue has now been addressed]
Having added a number of orchestrations to my orchestration project, I started getting a variety of out of memory errors when enlisting orchestrations using WMI:
"Exception of type System.OutOfMemoryException was thrown.(HRESULT: 80131600)."
"External component has thrown an exception.(HRESULT: 80131600).
BizTalk Server cannot access SQL server. This could be due to
one of the following reasons:
1. Access permissions have been denied to the current user. ..."
"An SEHException exception occurred while the XLANG/s runtime enlisted a
service.
Error message:External component has thrown an exception.
Call stack: at Microsoft.BizTalk.MetaDataOM.ICLRType.GetFields(UInt32
dwBindingFlags)..."
I applied Lee Graber's suggestion of increasing the amount of memory available to WMI using the following script:
But this just gave me GPF errors gpf faults from wmiprvse.exe.
Finally, I found splitting the orchestrations into tiers, in seperate projects greatly lessened the problem as it decreases the amount of memory required to enlist the orchestrations in an assembly - the problems still occured but far less frequently. still, wmiprvse is using hundreds of megabytes of RAM to enlist an orchestration what is it doing?
Having added a number of orchestrations to my orchestration project, I started getting a variety of out of memory errors when enlisting orchestrations using WMI:
"Exception of type System.OutOfMemoryException was thrown.(HRESULT: 80131600)."
"External component has thrown an exception.(HRESULT: 80131600).
BizTalk Server cannot access SQL server. This could be due to
one of the following reasons:
1. Access permissions have been denied to the current user. ..."
"An SEHException exception occurred while the XLANG/s runtime enlisted a
service.
Error message:External component has thrown an exception.
Call stack: at Microsoft.BizTalk.MetaDataOM.ICLRType.GetFields(UInt32
dwBindingFlags)..."
I applied Lee Graber's suggestion of increasing the amount of memory available to WMI using the following script:
var locator = WScript.CreateObject ("WbemScripting.SWbemLocator");
var wmi = locator.ConnectServer ("", "root");
var quota = wmi.Get ("__providerhostquotaconfiguration=@");
quota.MemoryPerHost = 384*1024*1024;
But this just gave me GPF errors gpf faults from wmiprvse.exe.
Finally, I found splitting the orchestrations into tiers, in seperate projects greatly lessened the problem as it decreases the amount of memory required to enlist the orchestrations in an assembly - the problems still occured but far less frequently. still, wmiprvse is using hundreds of megabytes of RAM to enlist an orchestration what is it doing?
2 Comments:
http://www.insuranceapropos.com/
Wow just happend to stumble here and thought I should say Go Blog! heya.
By Anonymous, at 2:54 pm
Took the VbScript from here an tweaked it a bit to make it work
Set locator = WScript.CreateObject ("WbemScripting.SWbemLocator")
Set wmi = locator.ConnectServer ("", "root")
Set quota = wmi.Get ("__providerhostquotaconfiguration=@")
Wscript.Echo quota.MemoryPerHost
quota.MemoryPerHost = 1717986918 ' 1.6*1024*1024*1024 = 1717986918.4 1.6 GB since in 2GB the WMI crashes
wmi.Put(quota)
Dekel Israeli
By Anonymous, at 2:45 pm
Post a Comment
<< Home