Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!udel!nigel.ee.udel.edu!mccalpin From: mccalpin@perelandra.cms.udel.edu (John D. McCalpin) Newsgroups: comp.unix.aix Subject: Re: Paging-space problems Message-ID: Date: 15 Nov 90 20:03:08 GMT References: <311@cadlab.sublink.ORG> <1990Nov14.223820.29154@arnor.uucp> <1990Nov15.180919.17089@gpu.utcs.utoronto.ca> Sender: usenet@ee.udel.edu Distribution: comp Organization: College of Marine Studies, U. Del. Lines: 56 Nntp-Posting-Host: perelandra.cms.udel.edu In-reply-to: dennis@gpu.utcs.utoronto.ca's message of 15 Nov 90 18:09:19 GMT >On 15 Nov 90 18:09:19 GMT,dennis@gpu.utcs.utoronto.ca (Dennis Ferguson) said: Dennis> In article <1990Nov14.223820.29154@arnor.uucp> rhoover@cirrus.watson.ibm.com (Roger Hoover) writes: >In article , marc@arnor.uucp writes: >|> malloc fails when the request causes the heap to exceed the >|> ulimit for data. It has nothing to do with paging space. >|> Dennis> System V (or at least the release I was familiar with) doesn't Dennis> do this. Instead it allocates page space dynamically, when Dennis> you need to page something out. Running processes have no Dennis> page space allocation unless they actually have pages out on Dennis> the backing store. The good effects of this are that you can Dennis> run System V systems with no page space at all if need be, and Dennis> that the total in-use memory allowed is related to (physical Dennis> memory + page space) rather than just page space. Dennis> I think AIX exhibits the latter behaviour exactly. This does not mesh with my experience with AIX. Under AIX 3.1 on my RS/6000, I find that I cannot run jobs for which there is not enough paging space available on the disk --- even though there is plenty of memory to contain the job. Examples: (1) With 16 MB paging space, the O/S used 12 MB and reported 4 MB free. With either 8 MB or 32 MB installed in the machine, I was unable to run jobs with an *active working set* larger than 4 MB. (2) With 36 MB paging space, the O/S used 12 MB and reported 24 MB free. With 32 MB RAM, I was able to run jobs with *active working sets* right up to the 24 MB paging space limit. A check with 'ps v' showed that the jobs were completely in RAM. So what do I mean by *active working set*? Well, I'm not sure how the O/S figures it out, but the following program runs until the part of the array that is *actually used* gets too big for the currently available paging space: parameter (n = 2**22) doubleprecision a(n) do length=65536,n,65536 do i=1,length a(i) = float(i) end do print *,'Size (MB) :',float(length*8)/float(2**20) end do end So somewhere this datum has to fit into theories on how AIX does paging.... -- John D. McCalpin mccalpin@perelandra.cms.udel.edu Assistant Professor mccalpin@vax1.udel.edu College of Marine Studies, U. Del. J.MCCALPIN/OMNET