0
|
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
|