can't register memory above 16M

Posted on 1998-04-04
Last Modified: 2012-08-13
I hope someone can help me with this. I have a P75 server with 32M ram running netware 3.11. It has a 3gig
scsi hard drive partitioned in 3 (1 gig each). It has 3 network cards, 1 token ring and 2 ethernet. We boot from
a floopy; there is no dos partition.

When booting, the memory test indicates 32M of ram, but after novell loads it only indicates 15.7 M of ram. I
have tried to register the memory without success. the 'register memory' command returns an error; and the
'set auto register memory above 16M' is set to on.

Any ideas. Thanks in advance.
Question by:gggord

Expert Comment

ID: 1592115
In STARTUP.NCF, set auto register memory above 16M to OFF.

Copy AUTOEXEC.NCF to your boot floppy and rename the version in SYS:SYSTEM.

In a:\autoexec.ncf, after the "ipx internal net" line, insert the line:

register memory 1000000 1000000

That should do it!

For an example and more details, enter 1003164 in the search field at

For in-depth background, search for 2908018.

Peace ^^ Paul

Author Comment

ID: 1592116
I found the papers from novell you referred me to some time ago but the problem persists. When I try to register the memory as the documents describe the server abends: 'non-maskable interrupt (parity error) generated by system board'.
I have loaded all the novell patches. At one point the server indicated that the memory was loaded successfully but then abended when I tried to load monitor. I have also tried loading the disk driver after the register memory.
All attempts at a solution results in an 'abend'.

Expert Comment

ID: 1592117
Maybe you have bad memory. Try replacing them.
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.


Expert Comment

ID: 1592118
The autoregister memory should be set to off. What is your hardware? Was the system purchased with 16M and 16M added later?
If so are they the same type?  It is not a bad idea to totally
replace server memory when you upgrade them.  You can pass the
previous modules on to a workstation,  and you are more likely
to have matched modules.  Netware pushes the hardware more than
other OSes so parts that are close to the limit of the spec. may
fail in Netware but operatefor others.  The major Q is What patches are installed?

Expert Comment

by:Vitali Nassennik
ID: 1592119
One solution (bad) is to include
into your CONFIG.SYS on boot floppy (and place HIMEM.SYS into A:\). Sometimes it helps to solve 16M problem. SERVER.EXE obtains memory size from HIMEM.SYS. But  HIMEM.SYS cann't utilize memory above 64M thus NetWare cann't utilize it too.
Another solution (very good) is to upgrade your NetWare 3.11 to 3.2.

Expert Comment

ID: 1592120
You are likely to have an intermittend parity failure in one of your RAM banks. Try to replace them one by one to find out the bad,
NW3.11 is not able to proper recognize the full amount of RAM installed in PCI boards. It is a good workaround to split the autoexec.ncf in one part located in the boot directory of the DOS partition or floppy. Here you should place the

file server name ...
ipx internal net ....

then execute the

register memory 1000000 1000000

BEFORE loading any disk drivers, so these drivers can use the full adress room (the disk drivers should not be loaded in startup.ncf as usually done, because "register memory" cannot be done in startup.ncf).

After mounting SYS, the DOS part of autoexec.ncf will end with
to invoke the remaining part of this script.

I hope that will help you...

Author Comment

ID: 1592121
tried loading himem.sys and it gave me 'parity error NMI' as well. Looks like the memory is not good. Can I replace the parity memory with non-parity memory without problem.

Accepted Solution

jstegall earned 10 total points
ID: 1592122
I asked what kind of memory you need for the motherboard? It sounds like you need parity memory, that would give you an NMI
as the parity is hardware will on error activate the CPU's NMI
pin,  It can't be caught or masked thus the name NMI.  See the TID below:

     RAM in Netware  (Last modified: 08JUN1995)

     This document (1200754) is provided subject to the disclaimer at the end of this document.
         Forward this document to a colleague
        Submit comment about this document to its author


     Some information regarding different types of RAM (parity, non-parity, ECC) used in Netware
     OSs and their influence when getting problems like Abends etc.
     I double checked that with Novell Labs:

     There are 3 basic kinds of system memory:

     1 - ECC Memory - error correcting - the best and most expensive!
     ECC memory is a kind of memory that can not have memory errors (it self corrects them), and is
     quite different from normal non-parity memory.

     2 - Parity Memory - causes a non-maskable interrupt on parity errors!
     Parity memory is the memory you should use in server environments.

     3 - Non-parity Memory - errors are not flagged => very dangerous especially in servers!!
     However, it is the cheapest - you get what you pay for.
     Attention: there are some interesting variants that "simulate" parity - those should also be

     The pricing relates to the fact that ECC RAM uses something like 12-bits per byte (or something
     around that), parity RAM uses 9 bits per byte, and non-parity uses only eight.

     With parity RAM a parity check is done every time you read or write data, and most errors (not
     all) will activate the CPU's NMI pin, and a NetWare server will do an "Abend: NMI Error" and
     shut down, or you'll get a system panic with UnixWare. ECC RAM will catch and correct all
     memory errors, which makes it great for nice expensive fault-tolerant servers (think of SFT III or

     The problem with non-parity RAM is because there isn't any checking done. If memory contents
     get corrupted you won't know, until the system locks up or crashes, or maybe ends up doing an
     "Abend: Invalid Opcode Interrupt" if you're lucky! Therefore this kind of memory should NEVER
     be used in servers - and it's nothing to do with how NetWare behaves. However, you can guess
     which kind of memory the people with cheap clone PCs want to use! The view I take is that in
     Novell we will not support anyone using non-parity RAM in a server under either NetWare or
     UnixWare, or in any mission-critical system.

     After having said this, in Novell Labs we have done some further investigation into
     parity-related issues, and have found two situations where you might see these problems:

     1 - The PC is certified with parity RAM installed (as submitted by the manufacturer to Novell
     Labs), but in the field is sold with non-parity RAM. Timimg problems can occur because of the
     differences in the type of RAM, which the PC was not certified with - and there's the general
     unsafety aspect of non-parity memory as well.

     2 - This is the most common problem. The PC is supplied with base memory of one kind, and the
     reseller and/or user adds more memory of the other variety, often without realising the difference.
     This is bound to fail!! Look out for this problem in the field.

     OSs which use memory less intensively may just get away with a few data corruptions but with
     UnixWare and NetWare this is much less likely. It also appears that the NetWare loader also
     attacks system RAM at load time than previous NetWare versions, and so sometimes there are
     reports that the problems arise with 4.10 and not 4.02 or 3.12.
     All this really means is that problem shows itself more quickly with 4.10, whereas with the older
     versions it waits for some time later!

                    Please select if this document solved your problem.

      Document Title:
                          RAM in Netware
      Document ID:
      Creation Date:
      Modified Date:
      Document Revision:
      Novell Product Class:
                          NetWare OS
      Novell Product and Version:
                          NetWare 3.11
                          NetWare 3.12
                          NetWare SFT III 4.1
                          NetWare SFT III 3.11
                          NetWare 4.1

So the answer is no, Unless your motherboard supports non-parity
memory it would not boot at all.  You must replace the faulty module, and I said in my previous answer make sure the timming
is the same for all modules, this is best done by using exactly
the same modules in all the sockets.  NMIs are almost always produced by parity errors. These memory-related errors can occur in main memory on the system board, in add-in memory boards, and in shared-memory areas of I/O cards. Machine checks are produced by the Intel Pentium chip when an internal hardware error is detected.

Author Comment

ID: 1592123
opened the machine and found bank1 had two different memory types, each was chip was labelled 8mb 70ns. I tried them in an acer workstation and it registered them as 4mb each. I will get some good parity memory for the server.

Featured Post

Does Powershell have you tied up in knots?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article outlines why you need to choose a backup solution that protects your entire environment – including your VMware ESXi and Microsoft Hyper-V virtualization hosts – not just your virtual machines.
In this increasingly digital world, security hacks are no longer just a threat, but a reality. As we've witnessed with Target's big identity hack 2013, Heartbleed in 2015, and now Cloudbleed, companies and their leaders need to prepare for the unthi…
In a recent question ( here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question