|
|
1.1 ! root 1: : This shell script snoops around to find the maximum amount of available ! 2: : user memory. These variables need to be set only if there is no ! 3: : /usr/adm/messages. KMEM, UNIX, and CLICKSIZE can be set on the command ! 4: : line, if desired, e.g. UNIX=/unix ! 5: KMEM=/dev/kmem # User needs read access to KMEM ! 6: UNIX= ! 7: # VAX CLICKSIZE=512, UNIX=/vmunix ! 8: # PDP-11 CLICKSIZE=64, UNIX=/unix ! 9: # CADLINC 68000 CLICKSIZE=4096, UNIX=/unix ! 10: # Perkin-Elmer 3205 CLICKSIZE=4096, UNIX=/edition7 ! 11: # Perkin-Elmer all others, CLICKSIZE=2048, UNIX=/edition7 ! 12: CLICKSIZE=4096 ! 13: eval $* ! 14: ! 15: SIZE=0 ! 16: if test -r /usr/adm/messages # probably the most transportable ! 17: then ! 18: SIZE=`grep avail /usr/adm/messages | sed -n '$s/.*[ ]//p'` ! 19: fi ! 20: ! 21: if test 0$SIZE -le 0 # no SIZE in /usr/adm/messages ! 22: then ! 23: if test -r $KMEM # Readable KMEM ! 24: then ! 25: if test -n "$UNIX" ! 26: then ! 27: : User must have specified it already. ! 28: elif test -r /vmunix ! 29: then ! 30: UNIX=/vmunix ! 31: CLICKSIZE=512 # Probably VAX ! 32: elif test -r /edition7 ! 33: then ! 34: UNIX=/edition7 ! 35: CLICKSIZE=2048 # Perkin-Elmer: change to 4096 on a 3205 ! 36: elif test -r /unix ! 37: then ! 38: UNIX=/unix # Could be anything ! 39: fi ! 40: if test -n "$UNIX" ! 41: then ! 42: SIZE=`echo maxmem/D | adb $UNIX $KMEM | sed -n '$s/.*[ ]//p'` ! 43: if test 0$SIZE -le 0 ! 44: then ! 45: SIZE=`echo physmem/D | adb $UNIX $KMEM | sed -n '$s/.*[ ]//p'` ! 46: fi ! 47: SIZE=`expr 0$SIZE '*' $CLICKSIZE` ! 48: fi ! 49: fi ! 50: fi ! 51: ! 52: case $UNIX in ! 53: /vmunix) # Assume 4.2bsd: check for resource limits ! 54: MAXSIZE=`csh -c limit | awk 'BEGIN { MAXSIZE = 1000000 } ! 55: /datasize|memoryuse/ && NF == 3 { if ($2 < MAXSIZE) MAXSIZE = $2 } ! 56: END { print MAXSIZE * 1000 }'` ! 57: if test $MAXSIZE -lt $SIZE ! 58: then ! 59: SIZE=$MAXSIZE ! 60: fi ! 61: ;; ! 62: esac ! 63: ! 64: if test 0$SIZE -le 0 ! 65: then ! 66: echo 0;exit 1 ! 67: else ! 68: echo $SIZE ! 69: fi
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.