Path: utzoo!mnetor!uunet!husc6!bbn!uwmcsd1!ig!jade!ucbvax!SUN.COM!dshr From: dshr@SUN.COM (David Rosenthal) Newsgroups: comp.windows.x Subject: Re: X11 Image Sizes -- need info Message-ID: <8801061901.AA09777@devnull.sun.com> Date: 6 Jan 88 15:39:36 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 50 1) The space demands of a running X11 server are essentially unlimited - properties alone can cnsume arbitrary amounts of space. 2) The X11 sample server's current response to running out of alloc()-able memory is to crash. Fixing this problem is VERY HARD INDEED. I have sent MIT a set of fixes that allow the server to run with 1% of the alloc() and realloc() calls from dix and os/4.2bsd randomly failing, but they will not be in the next release, and may require significant further work. They involve substantial changes to internal interfaces in the server. Note that these fixes do NOT address the problems of running out of memory inside ddx. These are much harder to solve, and may involve significant performance penalties. If you don't believe me, grep for Xalloc in the ddx directories and see how many of the calls have their return values checked! 3) All existing clients respond to BadAlloc failures by exiting. Although the server stayed up with my fixes and a 1% failure rate of alloc()/realloc() calls, the environment was unusable. It would typically take 4 or 5 attempts to get an xterm working, and several of these attempts would typically cause the window manager to exit. 4) Numbers. Current Sun servers are about 512K text (with -g) and about 650K RSS, having alloc()ed say 300-400K. However, note that current servers do NOT implement retained windows or saveunders, and that production X11 servers will be very unpopular if they fail to do so (try popping a menu on xterm if you don't believe me). Given this, expect that on a non-VM system with a megapixel monochrome display the server might take 1.5 to 2Meg, and on a megapixel color display say 2 to 3 Meg MINIMUM for a usable system. With considerable work, some of this space could be shed to disk. Clients. Current Sun xterm (-g) is 150K text, and say 200K RSS having alloc()d say 100K. Bottom Line: Anyone thinking of implementing X11 on a non-VM system is in for a HUGE amount of work, both in modifying the sample server to survive in a memory limited environment, in modifying the clients to survive BadAlloc errors at random times, and in persuading their customers to put enough memory into their non-VM systems to make running the server and clients feasible. David.