Subject: Re: Memory problems on 5000/200
To: None <port-pmax@netbsd.org>
From: Simon Burge <simonb@netbsd.org>
List: port-pmax
Date: 01/12/2000 09:07:56
Philip Tait wrote:

> Chris Tribo wrote:
> 
> >  I pulled the MB and
> > switched to another one which seems to be happily working. Is there such a
> > testing utilitiy available? Even if I couldn't test the first chip since
> > the OS is residing there, a Read/Write/Verify memory testing program would
> > be very nice to have.
> 
> If it's any help, Ultrix has some heavy-duty test programs (exercisers) for memory,
> disk and tape testing.

Here's the readme for "memx" and "shmx":

	MEMX:

	The "memx" exerciser will currently spawn 20 processes and each 
	one will exercise "total_memory/20" (default) bytes of memory. 
	The exerciser will run a one's and zero's, a zero's and one's 
	and random data patterns in the allocated memory under test.

	The memory exerciser will automatically start the "shmx" exerciser.

	The memory exerciser has three primary options:

	[-s]  Disable shared memory testing.

	[-m#] Will specify the memory size to test by each process.
	      (default: total_memory/20)

	[-p#] Will specify the number of processes to spawn. 
	      (max. 20, default: 20)

	WARNING: Be aware that the memx exerciser is restricted by the size
		 of swap space available. So the size of swap space and the
		 size of internal memory available will determine how many
		 processes can run on the system. If there is 16Mbytes of
		 swap space and 16Mbytes of memory all the swap space would
		 be used if all 20 (default) spawned processes were running.
		 That would mean "NO" other processes could execute. So on
		 systems with larger amounts of memory and small swap space
		 restricting the number of "memx" processes and/or size of
		 memory being tested "MUST" be done.

	SHMX:

	The "shmx" exerciser starts up "shmxb" process and these two
	processes then share the memory segments between themselves.
	They read/compare each others data patterns and then write a
	new pattern.
	The "shmx" exerciser is automatically invoked by the "memx" 
	exerciser.
	You can start the "shmx" exerciser by itself also.

	The "shmx" exerciser has three primary options:

	[-m#] (optional) Specify size in bytes of memory segment
	      (default: SMMAX/6) SMMAX system define

	[-s#] (optional) Specify number of shared memory segments (1-6)
	      (default: 6)

	[-v]  (optional) Use fork, default vfork


It basically excerices all available user RAM, but can't target anything
specific.  Useful in conbination with "uerf -n" to watch memory errors
as/if they occur.

Simon.