The owstimer.exe job consumes all memory on the server. Checking the Timer Job Status in Central Administration shows the ‘Immediate Alerts’ job for one of the web applications running but not getting pass 70% (% might be different in your case).
I ran Microsoft Net Monitor to see the contents of the packets that were being sent / received by the owstimer.exe process. The process was communicating with the database server and showed that the job was trying to go through every single document in one of our project sites.
This narrowed down the problem for me. I immediately went to the User Alerts section under Site Settings on the project site and found an ex-staff member who had subscribed to a few document libraries. This user no longer worked with the company and her mailbox was disabled. SharePoint must have had an issue trying to work out why the user could not be found and ended up retrying in an infinite loop.
I eventually removed the user’s subscription and the problem went away. It is interesting to note that the process of removing her account from the user alerts subscription took ages, compared to the other users in the system.
Here are the steps:
- Go to the offending site -> Site Settings -> User Alerts
- Select the user that is causing the issue -> Update
- Check all lists / libraries / items the user is subscribed to -> Delete