[Info-vax] Problem with RWMPB

jbriggs444 jbriggs444 at gmail.com
Thu Oct 8 09:25:37 EDT 2009


On Oct 8, 5:30 am, IanMiller <g... at uk2.net> wrote:
> On Oct 8, 10:09 am, "Ian Dean" <ian.d.d... at baesystems.com> wrote:
>
> > Hi,
> >     Whilst running an image, it hangs and shows a status of RWMPB (Modified
> > page writer busy).
>
> >     Can someone explain (in simplish terms) what is causing this and what
> > actions I can take to overcome this?
>
> > Regards,
> >     Ian
>
> On what version of VMS are you seeing this ?
>
> Your process is pagefaulting a lot, lots of pages which have been
> altered are going to the modified page list, and the modified page
> list has reached MPW_WAITLIMIT
>
> You may find raising the WSEXTENT, WSQUOTA for this process may help
> (if there is enough real memory).

To fill in some of the background details, what is happening is that:

1.  Your process had a page fault and needed to bring another page
into the working set.

2.  The working set was full and the page selected to be removed from
the working set to make room was "dirty".  That is, it had been
written on and has not yet been written to the page file (or other
backing store as appropriate).

3.  This means that the page being retired needs to be added to the
modified page list.

4.  But the modified page list is full at the level specified by
MPW_WAITLIMIT

5.  So your process is put in a wait state in order to control the
size of the modified page list.

You can proceed by increasing the size of your working set.  If
everything you need is physically resident, you don't get page faults.

Or you can increase your locality of reference.  If you keep your dirt
isolated to a few pages then you won't be writing as much to the
modified page list.  Classic issue is the difference between accessing
a Fortran array (of quadwords) like:

do i = 1, 1024
    do j = 1, 10000
          my_array(i,j) = my_array(i,j) + 1
    end do
end do

and accessing it like:

do i = 1, 10000
    do j = 1, 1024
          my_array(i,j) = my_array(i,j) + 1
    end do
end do

in a working set of 1000 pages.

[As Richard Gilbert has already pointed out]



More information about the Info-vax mailing list