[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Request for help with paging.
Date: Thu, 16 Mar 89 13:35:07 EST
Date: Mon, 13-Mar-89 23:08:40-EST
Subject: Request for help with paging.
Date: Tue, 14 Mar 89 20:08:41 EST
We have written a system which appears to have a grave difficulty with
thrashing in the paging system. When freshly loaded, the system
appears to spend perhaps 10% of its process time in the paging system,
but after about four hours of continuous running, paging system time
increases dramatically to 80% or so. These results have been confirmed
with both the TIME macro and the Metering system. According to the
metering system, there is no small subset of functions responsible for
most of the paging.
It's usually the data structures that matter in paging, not the functions.
I, too, am concerned about paging performance, although I dont know at this
point how bad ours is; I've focused on other optimizing so far (stuff I've
got a better chance of understanding)
Are there any tools or ways of telling which data structures are causing the
problems? Even more interesting; which *classes* of data structures
(eg. which flavors)? [Obviously this must be a bit sticky because any given
`object' (from the user's perspective) might be composed of a flavor thingy,
structures, lists, chars ... which are in different reqions, if not different
areas, and any one of which might be the `real' culprit. ]
A harebrained scheme would seem to be to put each interesting class of things
in its own area and then follow KHS's suggestion of page-tracing. However,
this seems like hacking up a lot of code just to measure a program whose
paging performance is likely to be completely different from the one I'm
trying to optimze!
Any clues out there?
Page-tracing (and the metering interface, which has the advantage of being
documented) both display the object on which the page fault occurred. There are
powerful tools as part of both to filter information as you suggest.