SCOM 2012: Failed to start a process due to lack of resources


Last month I presented a solution for alerting based on security events. This solution was based on an event rule and a PowerShell command channel which closes the unwanted alerts. I used this scenario for creating logon alerts. Based on my experience the volume of this kind of alerts was too high. So I received the following alerts: ‘Operations Manager failed to start a process due to lack of resources’

This alert is generated when there are too many alerts which need to be processed by the Notification channels. The Alert Description looks like this:

The process could not be created because the maximum number of asynchronous responses (5) has already been reached, and it will be dropped.
Command executed: "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -file "D:\Scripts\ACS_Security Alert_Developer.ps1" "{71075024-3e38-4844-9836-0c340068d011}"
Working Directory: C:\Windows\System32\WindowsPowerShell\v1.0
One or more workflows were affected by this
Workflow name: Subscription72590718_2962_4cee_b526_97c87895b92a
Instance name: Alert Notification Subscription Server
Instance ID: {E07E3FAB-53BC-BC14-1634-5A6E949F9230}
Management group: << MGMT_GROUP >>

The standard number of processes which can be started simultaneously is 5. By creating a registry key on each Management Server, which are part of the Notification Resource Pool, you can control the number of processes. Be careful with changing this setting to a higher value, this can cause serious performance issues on your management server which is processing the notifications. The following steps will describe the creation of this registry key:

  1. Open RegEdit on the Management Server and navigate to HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Operations Manager\3.0\Modules
  2. Under this key create a new subkey called Global
  3. Under the new Global subkey create another subkey called Command Executer
  4. Under the Command Executer subkey create a new DWORD value AsyncProcessLimit
  5. Change the value of this subkey to increase the number of async command notifications. The following value represents an increase to 10 processes. HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Operations Manager\3.0\Modules\Global\Command Executer\AsyncProcessLimit REG_DWORD:0x0000000a

For the value of AsyncProcessLimit you can set a minimum of 0x00000001 (Strongly not recommended) and a maximum of 0x00000064 (100)  (totally not recommended).


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.