Path: utzoo!attcan!uunet!portal!cup.portal.com!drew From: drew@cup.portal.com Newsgroups: comp.sys.mac Subject: Re: Why does the system heap grow with multifinder and System 4 Message-ID: <8610@cup.portal.com> Date: 31 Aug 88 06:32:43 GMT References: <12422786824.175.G.GUTOW@LEAR.STANFORD.EDU> Organization: The Portal System (TM) Lines: 36 XPortal-User-Id: 1.1001.5343 Re: the following question and answer, a comment follows below: ------------------------------------------------------------------------- In article <12422786824.175.G.GUTOW@LEAR.STANFORD.EDU> G.GUTOW@LEAR.STANFORD.EDU (Jonathan Gutow) writes: >I'm using system 4.2 and multifinder on an old mac upgraded with the 128K >ROMs and an 800K disk drive. I've noticed that initially on switch launching >to multifinder the system heap takes up about 252K of memory. After I've >started and quit afew applications such as RedRyder and WriteNow(1.07 patched >for multifinder) the heap size gains about 100K. It seems to me that >when you are back to a minimal configuration of running the finder and the >system the system heap size should collapse back down to its original size. There are two possible reasons: 1) Some applications tend to lock system resources and don't release them when they exit. This tends to cause a slow increase in system heap usage. It can only be fixed by fixing the applications. 2) MultiFinder doesn't reduce the system heap unless there is a good reason to do so. So, if you don't need the memory, MultiFinder will keep it in the system heap. _emt ------------------------------------------------------------------------ Knowing nothing about the Mac OS, I will stick my neck out with these comments: 1) Why can it "only be fixed by fixing the applications"? The reasonable thing for an OS to do would be to track allocation of resources (by application, process, job, etc.) and free them when the allocator terminates. Perhaps Mac OS doesn't in fact do this, but it certainly could (and should, maybe). 2) Seems like a strange statement: doesn't reduce the heap unless there's a good reason. Isn't the fact that someone de-allocated the memory a good reason? Why would the system want to hang on to it? Won't that cause problems for applications and others? e.g., suppose someone makes a request to determine how much memory is available (as the original questioner above apparently did), he'll get the wrong answer. Again, I know nothing of Mac internals, so maybe there's a good reason for the above behavior, but it seems strange to me.