XFree86 has a memory leak somewhere. Back in Redhat 6.0, I could run X for weeks on end without any noticeable side effects (I did have the latest updated rpms of XFree86 - 3.3.5-1.6.0). I just recently installed RH 6.1, and now after only a few days of X uptime, it balloons into over 90 megs of usage according to top. I just killed the 90 meg X, but I do have 2 other sessions running on my machine, here are the top readouts: 2965 root 0 0 32552 20M 428 S 0 0.0 16.3 0:17 X 2580 root 0 0 15536 11M 1316 S 0 0.0 9.1 207:41 X 6811 root 6 0 9380 9380 1972 S 0 0.3 7.3 0:13 X The last one (9.3 megs) was started 15 minutes ago. Pid 2965 is about 18 hours old. I had a 2 day old one that I just killed that was over 90 megs. The middle one has been idle most of the time running xlock, so I think it has to to with actual usage. (The 90 meg one was mine, I'm the primary user of the machine).
I just checked my roommates 6.0 box, and his week old X session is 45 megs (a fresh X session on his box is 12 megs). So I guess there was still a memory leak in 6.0's XFree, I just didn't notice it cause back then I was the only user of the machine. btw: we are both running the SVGA servers. I'm going to post this to the XF86 dev team as well.
I did some more experiments, and it appears the xlock IS the culprit (I was looking at the wrong session). 8 hours of xlock will shoot the memory usage of a session past 50 megs. I contacted the XFree team already, but they seemed skeptic at first, and haven't gotten back to me since. Perhaps the leak has something to do with writing to the root window?
X caches pixmaps. If you use a graphics intensive application, X will increase largely in size. This is a design issue, but not really a bug we can fix.
While this is a "design issue" it has caused my machine to become unusable many times. It seems fairly unacceptable that I have to restart X (assuming I catch its balloning quickly enough and don't have to restart the entire machine -- with enough swap it makes a noticeable slowdown soon enough... with to little swap my machine becomes unrecoverable to quickly to catch)... Restarting the computer or X is UNACCEPTABLE and I think this should be taken off of a "won't fix" problem because fixing it is necisary to maintain a usable system. Maybe their is a bug in the pixmap caching system that it caches to many pixmaps and keeps eating up memory. A 100 Meg cache on a 128 meg machine is rediculas! Cache is supposed to speed things up, not slow them down. I have also noticed that I never had this problem with 6.0 or any of the 5.x series that I ran. It seems like their is a problem clearing the cache at the approprite time.