Path: utzoo!attcan!uunet!seismo!sundc!pitstop!sun!amdcad!ames!mailrus!tut.cis.ohio-state.edu!bloom-beacon!ZERMATT.LCS.MIT.EDU!RWS
From: RWS@ZERMATT.LCS.MIT.EDU (Robert Scheifler)
Newsgroups: comp.windows.x
Subject: Server memory usage
Message-ID: <19880926175511.0.RWS@KILLINGTON.LCS.MIT.EDU>
Date: 26 Sep 88 17:55:00 GMT
References: <1206@cs.Buffalo.EDU>
Sender: daemon@bloom-beacon.MIT.EDU
Organization: The Internet
Lines: 26


    Date: 13 Sep 88 12:56:47 GMT
    From: sunybcs!crovella@rutgers.edu  (Mark Crovella)

    Can anyone summarize the various X functions that result in server
    memory being allocated (and their relative costs)?

Not easily.  This can vary quite a bit depending on how the server is
implemented.  Also, you don't say whether you want the information at
the protocol, Xlib, or toolkit level; the higher you go, the harder it
gets.  All protocol requests that create resources result in memory
being allocated, but many other requests can cause allocations as well,
at least on a temporary basis.  If you look through the server header
files in the MIT distribution, you can probably get a fairly good idea
of how big things like windows, gcs, and pixmaps are in many servers.

    We are running
    out of server memory frequently with a modest number of windows
    onscreen (maybe about 15).  My suspicion is that we are creating
    more GCs than necessary and larger pixmaps than necessary but I 
    may well be overlooking something.

We've had this idea for some time of writing a "statistics server"
that acted as a transparent filter to a real server, but gathered
all kinds of data along the way.  Seems like it would be handy for
you.  Someday hopefully we'll find the resources to do it.