Subject: Virtual memory exhausted?
To: NetBSD pmax <port-pmax@netbsd.org>
From: Collin Baillie <sanac@optushome.com.au>
List: port-pmax
Date: 04/17/2002 09:12:37
Hey guys,
While trying to compile the ldmud driver, version 3.2-dev-404, I get this
error:
cc -O4 -ipo -fomit-frame-pointer -g -fstrength-reduce -fno-force-mem -fno-f
orce-addr -fno-inline-functions -DDEBUG -DTRACE_CODE -DCHECK_STRINGS -DMUD_
LIB='"/usr/local/mud/lib"' -DBINDIR='"/usr/local/mud/bin"' -DERQ_DIR='"/usr/
local/mud/libexec"' -c interpret.c
In file included from interpret.c:197:
comm.h:29: warning: deprecated symbol "unix" is no longer predefined
interpret.c: In function `eval_instruction':
interpret.c:20383: virtual memory exhausted
*** Error code 1
Stop.
sprucebash-2.05#
So as you can see, interpret.c is a fairly large file, over 23000 lines, and
around 733kB.
The machine I am compiling on is:
DECstation 5000/240
80MB RAM
My disklabel reads thusly:
sprucebash-2.05# disklabel -r /dev/rz3
# /dev/rz3c:
type: unknown
disk: 3maxplus
label:
flags:
bytes/sector: 512
sectors/track: 107
tracks/cylinder: 21
sectors/cylinder: 2247
cylinders: 3712
total sectors: 8388315
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize cpg]
a: 1024632 0 4.2BSD 1024 8192 16 # (Cyl. 0 - 455)
b: 525798 1024632 swap # (Cyl. 456 - 689)
c: 8388315 0 unused 0 0 # (Cyl. 0 -
3733*)
d: 4096281 1550430 4.2BSD 1024 8192 16 # (Cyl. 690 -
2512)
f: 1024632 5646711 4.2BSD 1024 8192 16 # (Cyl. 2513 -
2968)
g: 1716972 6671343 4.2BSD 1024 8192 16 # (Cyl. 2969 -
3733*)
As you can see I've set (around about) 256MB swap. This is a 4gb Barracuda
(Seagate ST15150N)
I'm running NetBSD 1.4.2, generic kernel, bash-2.0.5 (from current pkgsrc).
What is virtual memory in this instance? Because I honestly don't hear the
disk being active, and it's not a quiet drive.
Is there anyway I can trace what is happening during the compile? Can I
increase my 'virtual memory'? It's hard to believe 80MB is not enough to
compile this file, let alone the extra 256MB swap. :/
I believe I had the same issue when compiling on NetBSD 1.5ZA running on a
DEC3000M400 with 64MB ram and similar size (256MB) swap. It compiled ok on a
Pentium 100 (DEC Ventura5100)running Slackware linux 8.0 with 72MB RAM and
~(2xRAM)MB swap. Compiles fine on AlphaServer 2100 with 512MB RAM running
FreeBSD 4.5 RC1.
A tarball of the code I am compiling can be found at:
http://members.optushome.com.au/sanac/ldmud-32dev404.tar.gz
Cheers,
Collin