The forum will experience an outage sometime between February 10 at 7:00pm EST and February 12 at 11:59 EST for installation of security updates. The actual time and duration of the outage are unknown but attempts will be made to minimize the downtime. We apologize for any inconvenience.


In Resource Monitor on Windows 2008 R2, looking at the CPU tab, then selecting the dbsrv12.exe process and looking in Associated Handles list.

I see a entry, type "Event" and Handle Name "KernelObjectsMaximumCommitCondition" I am having performance problems with a DB and was poking around and found this. Says: "This event is set when the operating system's commit charge is near the maximum commit limit. In other words, memory usage is very high, very little space is available in physical memory or paging files, and the operating system cannot increase the size of its paging files. (A system administrator can always increase the size or number of paging files, without restarting the computer, if sufficient storage resources exist.) ... Each of these events are notification events. They remain set as long as the triggering condition remains true."

On the DB I am looking at this event has been present for hours now, ever since I noticed it. The server is virtual but it has 24gb of RAM (I think fully allocated to this instance) and a OS managed swap file with a lot of disk space to expand into if it needed to.

Does anyone have any thoughts?

Thanks Ivan

asked 22 Sep '11, 12:21

ivankb's gravatar image

accept rate: 50%

In the Task Manager's 'Performance' tab, there's a 'System' area containing a 'Commit (MB)' entry. What values are shown there?

(22 Sep '11, 22:42) John Smirnios

The presence of the event is not critical it just tells you, that the process is listening to the event, e.g. you should see this event also for the explorer.exe. You have to look at the properties of the event to identify if it is also signaled. Only if it is signaled, the event (or the underlying condition) has really occured.

permanent link

answered 23 Sep '11, 07:21

Martin's gravatar image

accept rate: 14%

...and the fact that the database server is listening to this event just means it will try to govern itself accordingly (i.e. change its behaviour) once this (system-wide?) event will occur. - A smart server process, methinks:)

(23 Sep '11, 07:33) Volker Barth

thanks in what ways can the properties of the event by checked?

(23 Sep '11, 10:18) ivankb
Replies hidden

Nothing in the database server is monitoring that event. Dynamic cache sizing uses other metrics to do its job. I'm not sure why that event is showing up in our process but sometimes the OS works in mysterious ways.

The article posted makes it sound like the event is a driver-level event but if regular processes can access the event, they would just use WaitForSingleObject or a similar function to wait for it to be signalled.

(23 Sep '11, 10:23) John Smirnios

I would use SysInternals's "Process Explorer". With this tool, you can monitor all processes and all the DLLs and handles they use, such as:

Process Explorer Sample

(23 Sep '11, 11:23) Volker Barth
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 22 Sep '11, 12:21

question was seen: 2,800 times

last updated: 23 Sep '11, 11:26