How can I increase limit on datasize under Ultrix3.1?
Alan's Home for Wayward Notes File.
alan at shodha.dec.com
Wed Aug 15 01:24:23 AEST 1990
I'll try to mail a copy of my reply directly to the
author, but this of general interest... Of course
George will probably get to it first.
In article <1138 at umvlsi.ecs.umass.edu>, patel at umvlsi.ecs.umass.edu (Baiju Patel) writes:
> I am running this program (VLSI placement and routing prog) which requires
> lot of memory. Unfortunatly, for some strange reasons, I am not able to
> increase the limit on datasize. Which makes my program to abort when
> the memory requirement exceed 21M. I trying increasing limit by
> typing
> limit 30m
> I get a message saying
> limit: Not owner
>
> If I try the same command as root, it accepts it. Except, limit remains
> unchanged. I tried this command on microvax GPX II, VAX 11/780, VAX 8800
> and so on. It does not seem to work anywhere.
>
> Am I doing something wrong or is it system limitation?
In ULTRIX V3.1 and earlier the data and stack size limits
are controlled by the configuration file parameters "dmmin"
and "dmmax". They are documented in the Guide to System
Configuration File Maintainence. Dmmin and dmmax also controlled
page/swap space allocation. Setting dmmax too large would tend
to create more page/swap wastage. A very old set of release
notes had the algorithm that was used included in them. I'll
include a program at the end of the post that uses it.
Starting in V4.0 the text, data and stack size are more directly
controlled by thier own parameters. There parameters are
"maxtsiz", "maxdsiz" and "maxssiz" respectively. The page/swap
space allocation size is controlled by "swapfrag". These are
documented in the "Guide to ...".
>
> Please send reply directly to patel at ecs.umass.edu
>
> Thanks in advance
>
> baiju
- - - - - - - - - CUT HERE - - -
/*
* Author: Alan Rollow, CSC/CS, Digital Equipment Corp.
* File: virtual.c
* Date: 12/7/88
* Version: 1.3
*
* virtual.c - Calculate value of maximium virtual memory given
* values of dmmin and dmmax.
*/
#ifndef lint
static char SccsId[] = "@(#)virtual.c 1.3 (virtual) 12/7/88" ;
#endif
#include <stdio.h>
main(argc, argv)
int argc ;
char **argv ;
{
int i, m, max_virtual_mem ;
int dmmin, dmmax ;
if( argc < 3 ) {
fprintf(stderr, "Usage: virtual dmmin dmmax\n");
exit(0);
}
dmmin = atoi(argv[1]);
dmmax = atoi(argv[2]);
for(i = 0, m = dmmin; m < dmmax; i++)
m *= 2 ;
max_virtual_mem = (48 - i) * dmmax - dmmin - 32 ;
printf("Maximium Virtual Memory: %d = %d stack + %d data.\n",
max_virtual_mem,
max_virtual_mem / 2,
max_virtual_mem / 2);
}
--
Alan Rollow alan at nabeth.enet.dec.com
More information about the Comp.unix.ultrix
mailing list