• 12

A PHP Error was encountered

Severity: Notice

Message: Undefined index: userid

Filename: views/question.php

Line Number: 191


File: /home/prodcxja/public_html/questions/application/views/question.php
Line: 191
Function: _error_handler

File: /home/prodcxja/public_html/questions/application/controllers/Questions.php
Line: 433
Function: view

File: /home/prodcxja/public_html/questions/index.php
Line: 315
Function: require_once

When I was investigating some Hard Page Faults I came across this. Objects Memory & Process give different value's from the same counter: Page Faults/Sec. Are there some OS related processes that cause page faults that aren't monitored by the Performance Monitor object Process? Why are Process\Page Faults/sec always below Memory Page Faults/sec?

Screenshot Performance Monitor

The counter Memory => Page Faults/sec represents a system-wide count of page faults. Both soft and hard faults. Both user mode and kernel mode.

On the other hand, the counter Process => Page Faults/sec is a set of counters that has an instance for every user mode process that is running on the machine. So you can inspect page faults incurred by one specific process. Or you can select the _Total instance to get a sum of all page faults incurred by all running processes.

But even if you selected _Total, you could still only get page faults incurred by user mode processes. Not page faults in the kernel, for example by device drivers.

Page faults can be satisfied at CPU IRQL 0 (all user mode and most kernel mode,) or 1 (kernel APC and page faults,) but page faults can not be satisfied at IRQL 2 (dispatch) or above.

Page faults come in two flavors: soft faults and hard faults. Hard faults are the ones that can cause serious performance degradation because you have to go to disk (swap file) to satisfy a hard fault. Soft faults are not so bad because the page is still in RAM somewhere, it's just not in the process' working set and has to be retrieved from elsewhere in main memory which is much faster than going to disk.

So Process => Page Faults/sec => _Total is a sum of all the page faults incurred by all the running user mode processes. Memory => Page Faults/sec is that plus any additional kernel mode page faults.

  • 3
Reply Report

Trending Tags