|
|
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=512
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.