Exchange 2007 Enterprise SP1 IMAP service, load is 100%

If you have problem, that your IMAP service on Exchange 2007 sp1
is taking 100% of your CPU’s, you must check it up how many items your users have in their folders/inbox.

The problem is, when user click on folder which have a large numbers of items in folder such as 300.000 and more, and then run some filtering or rule-ing in that folder.

In our organization service load 100% CPU on our quad-core maschine, and you must restart the imap4.exe service.

I now, that Microsoft recommends max. items per folder to max. 20,000 with Exchange 2007 server, but maybe you will have this problem sometime.

If you want to check how many items have some users, you can simply open the exchange management shell (Powershell) and type;

Get-Mailbox | Get-MailboxFolderStatistics | Where {$_.ItemsInFolder -gt 20000} | fl identity, itemsinfolder

This will prompt any user in your org, that have more than 20.000 items in any folder, trash, inbox,…

You will get something like that;

Identity : yourdomain.local/Users/Sales/Franz Kafka\Inbox

ItemsInFolder : 35851

Identity : yourdomain.local/Users/Sales/John Derre\Trash

ItemsInFolder : 50851

and so on…

This affect only IMAP users not MAPI based clients (Outlook).

More than 40.000 – 50.000 items is problem in our exchange organization.(IMAP users!)

You can limit this by some policy of folders,…

Also exmon is very good tool for exchange mailbox server role;

With exmon you can check in real time witch user is getting a lot of % cpu and then check his mailbox.