Hi 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. http://msdn.microsoft.com/en-us/library/windows/hardware/ff563847(v=vs.85).aspx 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 |
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. ...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
1
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:
(23 Sep '11, 11:23)
Volker Barth
|
In the Task Manager's 'Performance' tab, there's a 'System' area containing a 'Commit (MB)' entry. What values are shown there?