HP3000-L Archives

August 2002, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stan Sieler <[log in to unmask]>
Reply To:
Stan Sieler <[log in to unmask]>
Date:
Tue, 27 Aug 2002 15:34:00 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (89 lines)
Re:

> Could someone point me to a source where I can get the "skinny" on the
> setting of NMHEAP?

> What are the gotchas in setting it too high? etc.

Wasting system resources, particularly if a process "goes wild" and
allocates all of its potential stack and/or heap, and then hangs.

Also, on older releases of MPE/iX, the first touch of a heap or a stack
allocated about 1/30th of the limit as secondary disk storage.
This meant that if you had a large limit (the default of 80 MB for the heap),
you could quickly eat up a disk drive with useless transient space.
That has been fixed for some time, however.

The downside to limiting the heap is that if the value chosen is too small,
you might have a problem ... as you saw:


> QUERY on our system has a MAX HEAP SIZE of 81,920,000

I suspect it doesn't.  In fact, despite several bug reports and
repeated reminders over the years, I suspect that the vast majority of
HP provided programs (including QUERY) still are linked without specifying
NMHEAP.  This means that they get the system default NMHEAP, which is
under your control (via SYSGEN MISC).

Here's how to tell:

   :linkedit
   LinkEd> listprog query.pub.sys

   PROGRAM        : QUERY.PUB.SYS
   XL LIST        :
   CAPABILITIES   : BA, IA, MR, PH
   NMHEAP SIZE    :
   NMSTACK SIZE   :
   ...

The lack of a value after "NMHEAP SIZE" means that it will get the system
default NMHEAP when run (unless overridden on the RUN command).

Similarly for NMSTACK.


> as do in-house programs. We had

Again, I suspect they don't have 80 MB NMheaps, but that they are *getting*
your system default nmheap of 80 MB.

Why does the distinction matter?  Because you might someday change your
default NMHEAP...then those programs will still get the default, which
may or may not be enough.

I originally submitted my bug report against @.PUB.SYS NMPRGs because I'd run
into a site that had set the default NMHEAP quite low ... so low that some
HP programs were aborting because they hadn't been linked with a
specific (and large enough) NMHEAP value.


> the offending program succeed with a run-time NMHEAP of 10,000,000. Now we
> want to alter the program file itself with a different NMHEAP, but are not

Great... use 10 MB.


> really comfortable using 10,000,000 (which was a number picked out of the
> air because it was double the out-of-the-box value for the program file
> itself).

Sounds like a good number for now.

In the older days, when the NMSTACK and NMHEAP had more of a negative affect
on tranisent disk space, some programmers/vendors took the time to think
about what NMSTACK/NMHEAP they needed, and linked their programs with that
info.  In the case of SUPRTOOL, apparently 5 MB was plenty for years ...
and should probably now be increased.

Hope this helps,

--
Stan Sieler
[log in to unmask]
www.allegro.com/sieler/wanted/index.html

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2