Doing a migration of a CRM 4.0 system from one environment to another, I ran into this problem:
The target environment was a test environment and the owner of the environment assigned ‘only’ 2 GB of RAM.

CPU 100%
Immediately after I imported the organization using the Deployment Manager, the CrmAsyncService spiked the CPU and the memory load up to nearly 100% constantly…

Solution
Because we migrated from a machine that had enough RAM to a machine with 2GB (on a 64 bit machine…), the solution was to change the values of the fields ‘IntColumn’ in the Table: ‘DeploymentProperties’ of the ‘MSCRM_CONFIG’ database where the ColumName equals ‘AsyncInMemoryHigh’ and ‘AsyncInMemoryLow’.

crm_asyncsettings
Fig 1: DeploymentProperties table

The values that worked for us are:

ColumnName IntColumn
AsyncInMemoryHigh 50
AsyncInMemoryLow 20

These values are a lot higher in a default Crm implementation, something like 5000 and 2000, so the values I use here are only in case of very low memory.

After a restart of the CrmAsyncService (kill process and manually restart service, or wait for it to come up again), the problem was gone and Performance Monitor showed that the workflows (which caused the problem) where processed again.

What these settings do is they dictate the CrmAsyncService to take the amount specified in the AsyncItemsInMemoryHigh IntColumn of tasks to process in memory (and no more than is specified).
The service will process these tasks one at a time, untill it reaches the amount specified in the AsyncItemsInMemoryLow IntColumn, it than takes the amount of tasks in memory, that are specified in the AsyncItemsInMemoryHigh IntColumn again, until there are no more tasks to process.

Henry Cordes
My thoughts exactly…


Comments (3) -

Steve | Reply

26/11/2010 16:27:40 #

My CRM server has only 1GB RAM and was struggling.  This seems to have helped considerably.
Now I just need to find a way of looking at the async queue to make sure that everything is actually getting processed...

! U.A.E. | Reply

08/11/2011 11:11:56 #

Have you guys faced this problem while migrating to MS CRM 2011 ?

Also, Is it a normal behavior to get multiple async services running in the task manager?  (As usual the CPU Usage is 100% !)

Farhan U.A.E. | Reply

08/11/2011 11:12:25 #

Have you guys faced this problem while migrating to MS CRM 2011 ?

Also, Is it a normal behavior to get multiple async services running in the task manager?  (As usual the CPU Usage is 100% !)

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading