[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Request for help with paging.

    Date: Mon, 13-Mar-89 23:08:40-EST
    From: khs@PORSCHE.SCRC.Symbolics.COM
    Subject:  Request for help with paging.
        Date: Tue, 14 Mar 89 20:08:41 EST
        From: whuts!davel@att.att.com
        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?