[comp.unix.xenix] Xenix Shared Memory Limitation

toppin@melpar.UUCP (Doug Toppin) (02/24/89)

Help!! We have to implement a simple custom database holding
about 1.3 meg in memory (has to be kept in memory).
We have been assuming that we would allocate 21-65K shared memory 
segments and just divide up the records into the segments.
Several processes will have to have access to the data.
We just tried a simple test and we can allocate the segments with no problem.
But, when any process is run at any other terminal
while the segments exist only a shell prompt comes back.
Nothing happens, not even an error message.
If the shared memory segments are removed
by the test application everything returns to normal.
Has anyone ever seen this before? We have had isolated occurrences
where our systems will get really busy and commands have no effect.
This time it has to be fixed.
We are running IBM Xenix V on ATs with 3-meg memory.
We cannot change operating systems nor hardware.
Please reply to uunet!melpar!toppin
Useful replies will be posted. Thanks
Doug Toppin

tif@cpe.UUCP (02/28/89)

Written 10:37 am  Feb 23, 1989 by melpar.UUCP!toppin in cpe:comp.unix.xenix
>We have been assuming that we would allocate 21-65K shared memory 
>segments and just divide up the records into the segments.
>...
>We just tried a simple test and we can allocate the segments with no problem.
>But, when any process is run at any other terminal
>while the segments exist only a shell prompt comes back.

Just guessing: I suspect that the shared memory segments are not
allowed (why?) to leave real memory.  Memory must be real tight
and the fork is failing.  (Get more memory)

Anybody agree?

			Paul Chamberlain
			Computer Product Engineering, Tandy Corp.
			{killer | texbell}!cpe!tif

karl@ddsw1.MCS.COM (Karl Denninger) (03/07/89)

In article <141100003@cpe> tif@cpe.UUCP writes:
>
>Written 10:37 am  Feb 23, 1989 by melpar.UUCP!toppin in cpe:comp.unix.xenix
>>We have been assuming that we would allocate 21-65K shared memory 
>>segments and just divide up the records into the segments.
>>...
>>We just tried a simple test and we can allocate the segments with no problem.
>>But, when any process is run at any other terminal
>>while the segments exist only a shell prompt comes back.
>
>Just guessing: I suspect that the shared memory segments are not
>allowed (why?) to leave real memory.  Memory must be real tight
>and the fork is failing.  (Get more memory)

I have to disagree for the situation where the OS is SV/386; I have no
idea what if any restrictions are present in the '286 port.

We have allocated 1M shared segments on SV/386 (Xenix), and that couldn't
have worked if this restriction was "real".

Xenix V/386 2.2.1 had some problems with shared segments (wierd things would
occasionally occur), but the 2.2.3 and 2.3.1 versions work fine...

(We have a game here which allocates about 1MB in shared segments when it
starts up; thus our extensive experience with this :-)

--
Karl Denninger (karl@ddsw1.MCS.COM, ddsw1!karl)
Data: [+1 312 566-8912], Voice: [+1 312 566-8910]
Macro Computer Solutions, Inc.    	"Quality solutions at a fair price"