Date: Thu, 16 Nov 2000 17:59:41 -0500 From: flaw <flaw@vt.edu> To: John Baldwin <jhb@FreeBSD.org> Cc: freebsd-questions <freebsd-questions@FreeBSD.org>, freebsd-questions <freebsd-questions@FreeBSD.org>, George Reid <greid@dogma.freebsd-uk.eu.org> Subject: RE: FreeBSD VM Message-ID: <3A1C57B4@zathras.cc.vt.edu>
next in thread | raw e-mail | index | archive | help
Maybe due to the amount of memory, the program is still in memory so no page faults are induced. But why cnt.v_vm_faults (cnt is the vmmeter) are incremented much more frequently than p->p_stats->p_ru.ru_majflt? Also, the swapper process with pid 0 (why pid 0?) has ru_majflt the same as cnt.v_vm_faults. Any help and explanation is appreciated. Thanks. Ray, >===== Original Message From John Baldwin <jhb@FreeBSD.org> ===== >On 16-Nov-00 flaw wrote: >> Thanks for the reply. When exactly is majflt incremented? >> >> I ran ps -o majflt -p <pid> on the Netscape process and it gave me a count of >> 291 the first time I ran Netscape after reboot. I killed the process and ran >> Netscape again. This time it gave me a count of 0. > >This is because the pages that Netscape faults in from disk (the text pages) >were still in memory. When a process exits, its pages don't get dumped from >memory right away. Instead, after the pages have sat for a while without being >used they are marked as inactive. When new pages are needed, pages are grabbed >from the inactive pool. If you are really interested in this stuff, I highly >recommend that you get 'The Design and Implementation of 4.4 BSD' (a book). > >> Thanks. >> Ray, >> >>>===== Original Message From George Reid <greid@ukug.uk.freebsd.org> ===== >>>On Thu, 16 Nov 2000, Raymond Law wrote: >>> >>> majflt doesn't increase when a process is generating page faults. Instead, >>> the swapper process (pid 0) gets all the page faults and it is the same as >>> the page faults given by cnt in vmmeter.c. Why is this happening? Is >>> there a way to get the number of page faults generated by a SINGLE process? >>> >>>Yes. >>>ps -o majflt -p <pid> >>> >>>The code which increments the number of page faults for a given process is >>>found in /sys/vm/vm_fault.c (circa line >>>856): curproc->p_stats->p_ru.ru_majflt++; >>> >>> The above doesn't get increased. >>> >>>Yes, it does - certainly in 5.0-CURRENT and a quick look at the CVS >>>repository reveals this code has been present for over 6 years. >>> >>>"And then it comes to be that the soothing light >>> at the end of your tunnel was just a freight >>> train, comin' your way." >>> >>> George Reid * greid@ukug.uk.freebsd.org >>> >>> >>> >>>To Unsubscribe: send mail to majordomo@FreeBSD.org >>>with "unsubscribe freebsd-questions" in the body of the message >> >> >> >> To Unsubscribe: send mail to majordomo@FreeBSD.org >> with "unsubscribe freebsd-questions" in the body of the message > >-- > >John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/ >PGP Key: http://www.baldwin.cx/~john/pgpkey.asc >"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ > > >To Unsubscribe: send mail to majordomo@FreeBSD.org >with "unsubscribe freebsd-questions" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A1C57B4>