Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!harpo!utah-cs!utah-gr!thomas From: thomas@utah-gr.UUCP (Spencer W. Thomas) Newsgroups: net.unix Subject: Re: How can I get bigger processes on 4.1BSD ? Message-ID: <1059@utah-gr.UUCP> Date: Mon, 16-Jan-84 00:54:10 EST Article-I.D.: utah-gr.1059 Posted: Mon Jan 16 00:54:10 1984 Date-Received: Tue, 17-Jan-84 02:02:25 EST References: sri-arpa.15394 Lines: 30 Following up on Mike Accetta's message, I can maybe shed a little more light on the subject of increasing process size. We just did this here, and I operated from two criteria: 1. No user programs should need to be recompiled. 2. System resource usage should not be drastically increased. There are a coupld of parameters you can adjust to get more data space. These are NDMAP and DMMAX. These control the amount of swap space which can be allocated, and which is the limiting factor on process growth. NDMAP says how many entries are in the swap map, there are two of these in the user struct - one for data segment and one for stack segment. DMMAX controls how big the swap segments get. You can increase data size by doubling (and redoubling) DMMAX without changing the size of the U struct (and thus avoiding the necessity of recompiling N user programs). The side effect here is that (internal) fragmentation of the swap area increases. I have seen a recommendation that you have at least 96Mb of swap (3 * 32Mb) for a DMMAX of 4096. Now, obviously this depends on your job mix. Anyway, if you only beat on DMMAX (which is in autoconfig.c, by the way, at least in 4.2), you can get: DFLT> DMMAX=1024 MAXDSIZ=6Mb (approx. (i.e., 12*1024 ...)) DMMAX=2048 MAXDSIZ=11Mb (-32-slop, again) DMMAX=4096 MAXDSIZ=20Mb The effect of DMMAX is that any process larger than DMMAX-32 gets its swap space allocated in DMMAX chunks (so 512kbytes in the distributed system, up to 2Mb with DMMAX=4096). Luckily for us, 11Mb is large enough (for now). =Spencer