Heavy system load by pagedaemon
Iasen Kostov
tbyte at otel.net
Fri May 12 10:40:36 UTC 2006
On Fri, 2006-05-12 at 17:17 +1000, Peter Jeremy wrote:
> On Thu, 2006-May-11 18:33:10 +0300, Iasen Kostov wrote:
> > And another odd thing (to me atleast):
> >
> >#:> vmstat -s | grep "daemon\|fault"
> > 0 page daemon wakeups
> > 0 pages examined by the page daemon
> > 4992608 copy-on-write faults
> > 29021 copy-on-write optimized faults
> > 75167 intransit blocking page faults
> > 66956262 total VM faults taken
> > 0 pages freed by daemon
> >
> >Acording to vmstat pagedaemon has never been awake.
>
> 'page daemon wakeups' counts the number of times that the pagedaemon
> is woken up due to a page shortage. It does not include the 5-sec
> wakeups.
>
> How about posting a complete 'vmstat -s'. A look at the code suggests
> that vm_pageout_page_stats() thinks there's a page shortage (since
> that's the only piece of code that will actually do anything if page
> daemon wakeups is zero).
#:> vmstat -s
38479689 cpu context switches
8311921 device interrupts
2247328 software interrupts
77805675 traps
352344722 system calls
41 kernel threads created
16904 fork() calls
1827 vfork() calls
0 rfork() calls
0 swap pager pageins
0 swap pager pages paged in
0 swap pager pageouts
0 swap pager pages paged out
32095 vnode pager pageins
152280 vnode pager pages paged in
549 vnode pager pageouts
549 vnode pager pages paged out
0 page daemon wakeups
0 pages examined by the page daemon
51939 pages reactivated
5311477 copy-on-write faults
11437 copy-on-write optimized faults
25579287 zero fill pages zeroed
25490864 zero fill pages prezeroed
39320 intransit blocking page faults
74643308 total VM faults taken
0 pages affected by kernel thread creation
71254993 pages affected by fork()
8872256 pages affected by vfork()
0 pages affected by rfork()
48455025 pages freed
0 pages freed by daemon
12139663 pages freed by exiting processes
261655 pages active
346637 pages inactive
39970 pages in VM cache
108891 pages wired down
1236812 pages free
4096 bytes per page
236461588 total name lookups
cache hits (97% pos + 2% neg) system 0% per-directory
deletions 0%, falsehits 0%, toolong 0%
But there is something else:
"collecting pv entries -- suggest increasing PMAP_SHPGPERPROC" x 5 times
(which is it maximum number of this warrnings).
When I checked sysctl vm.zone I saw "PV ENTRY" going near to it's
maximum right before the lock happen and then after the lock by
pagedaemon it go down to ~1000 ... and I saw this after a crash which
could explain alot of things. Most probably the lock occurs when this
collecting of pv entrys happen and this could lead to a crash (which is
inherited from 4.x series as I saw mails about that from 2003 and 4.7).
More information about the freebsd-hackers
mailing list