Annotation of 43BSD/ucb/compress/usermem.sh, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.