Re: Massive pagefaults...anything to worry about?

Andreas Bombe (andreas.bombe@munich.netsurf.de)
Sun, 22 Aug 1999 17:16:43 +0200


On Sat, Aug 21, 1999 at 09:42:59PM -0500, Robert A. Hayden wrote:
> I have a new RH6.0 system and everythng seems to be working great on it,
> but I am getting a thing that is causing me a little concern and I want to
> see if it is anything to be worried about.

This is nothing to be worried about. Pagefaults are a normal tool of
execution for a virtual memory OS. Usually memory mappings are set up
without the contents being usable yet or being swapped out.

One example is loading of an executable: if execution reaches a page
which is not loaded yet, a pagefault is generated by the CPU which
makes the kernel load the page from disk and then continue execution.
Writing to copy-on-write pages is another example, a fault is generated
(because writing is not allowed), the kernel copies the page, adjusts
mapping and continues process.

Major pagefaults involve disk IO, minor pagefaults happen in memory
alone.

> Here's the output from a kernel compile to give you an example:
>
> [/usr/src/linux] # time make
> 266.88user 20.66system 4:47.87elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
> 0inputs+0outputs (-495975500major+15152975minor)pagefaults 0swaps
>
> [/usr/src/linux] # time make -j 2
> 261.12user 19.01system 2:27.53elapsed 189%CPU (0avgtext+0avgdata 0maxresident)k
> 0inputs+0outputs (1538887856major+-51006598minor)pagefaults 0swaps

This is fine, except that the signed variables in your time executable
overflow so that you see negative numbers.

-- 
    Andreas E. Bombe <andreas.bombe@munich.netsurf.de>
    http://home.pages.de/~andreas.bombe/
RSA 0x886663c9  30 EC 09 73 84 7B 55 83  C4 7A 91 D9 9D C5 4B B0
DSA 0x04880A44 72E5 7031 4414 2EB6 F6B4  4CBD 1181 7032 0488 0A44

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/