annotate miscellany/compress-4.0/usermem @ 0:bce86c4163a3

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