home *** CD-ROM | disk | FTP | other *** search
- : This shell script snoops around to find the maximum amount of available
- : user memory. These variables need to be set only if there is no
- : /usr/adm/messages. KMEM, UNIX, and CLICKSIZE can be set on the command
- : line, if desired, e.g. UNIX=/unix
- KMEM=/dev/kmem # User needs read access to KMEM
- UNIX=
- # VAX CLICKSIZE=512, UNIX=/vmunix
- # PDP-11 CLICKSIZE=64, UNIX=/unix
- # CADLINC 68000 CLICKSIZE=4096, UNIX=/unix
- # Perkin-Elmer 3205 CLICKSIZE=4096, UNIX=/edition7
- # Perkin-Elmer all others, CLICKSIZE=2048, UNIX=/edition7
- CLICKSIZE=512
- eval $*
-
- SIZE=0
- if test -r /usr/adm/messages # probably the most transportable
- then
- SIZE=`grep avail /usr/adm/messages | sed -n '$s/.*[ ]//p'`
- fi
-
- if test 0$SIZE -le 0 # no SIZE in /usr/adm/messages
- then
- if test -r $KMEM # Readable KMEM
- then
- if test -n "$UNIX"
- then
- : User must have specified it already.
- elif test -r /vmunix
- then
- UNIX=/vmunix
- CLICKSIZE=512 # Probably VAX
- elif test -r /edition7
- then
- UNIX=/edition7
- CLICKSIZE=2048 # Perkin-Elmer: change to 4096 on a 3205
- elif test -r /unix
- then
- UNIX=/unix # Could be anything
- fi
- if test -n "$UNIX"
- then
- SIZE=`echo maxmem/D | adb $UNIX $KMEM | sed -n '$s/.*[ ]//p'`
- if test 0$SIZE -le 0
- then
- SIZE=`echo physmem/D | adb $UNIX $KMEM | sed -n '$s/.*[ ]//p'`
- fi
- SIZE=`expr 0$SIZE '*' $CLICKSIZE`
- fi
- fi
- fi
-
- case $UNIX in
- /vmunix) # Assume 4.2bsd: check for resource limits
- MAXSIZE=`csh -c limit | awk 'BEGIN { MAXSIZE = 1000000 }
- /datasize|memoryuse/ && NF == 3 { if ($2 < MAXSIZE) MAXSIZE = $2 }
- END { print MAXSIZE * 1000 }'`
- if test $MAXSIZE -lt $SIZE
- then
- SIZE=$MAXSIZE
- fi
- ;;
- esac
-
- if test 0$SIZE -le 0
- then
- echo 0;exit 1
- else
- echo $SIZE
- fi
-