Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Dec 1998 11:07:12 -0800
From:      Parag Patel <parag@cgt.com>
To:        freebsd-current@FreeBSD.ORG
Subject:   More symptoms of VM (or related) oddities in 3.0-CURRENT
Message-ID:  <199812191907.LAA80764@pinhead.parag.codegen.com>

next in thread | raw e-mail | index | archive | help
This is a multipart MIME message.

--==_Exmh_-5132980690
Content-Type: text/plain; charset=us-ascii


I've been following the discussions about folks having a variety of 
problems with what appears to be VM in the latest versions: running out 
of processes, swap space, and daemons dying.  I thought I'd add my 
observations of my latest kernel (and system) upgrade.

I just found some time to upgrade to the latest CURRENT of Dec 18:
	@(#)FreeBSD 3.0-CURRENT #19: Fri Dec 18 15:52:34 PST 1998
from my previous kernel of Oct 23:
	@(#)FreeBSD 3.0-CURRENT #9: Fri Oct 23 21:33:56 PDT 1998 

I've also installed the latest boot-loader and am running an ELF 
kernel, as well as ELF binaries.  I did this in steps and found the 
same symptoms below as I did with the latest CURRENT in the aout 
flavor.  My previous kernel was aout, and while the install 
distribution was ELF, all of X was still aout as I wasn't keen on 
downloading those huge binaries over modem.  (I just picked up the 
latest 3.0 CDs.)

The "dmesg" output is appended to this note.  Essentially, I'm running 
SMP on a dual-PII/300 system with 256Mb RAM and 256Mb swap, two UW SCSI 
disks, and softupdates enabled on all partitions.

Each night I run cvsup and then fire off a "make buildworld -j8", just 
to keep the machine warm :-).  I'm the only user of this machine - it's 
both my daily desktop and work-related build system.  When I have time, 
it's handy to have a prebuilt world to install instead of having to 
wait another 1.5 hours or so.

Now the interesting bit:  With the earlier kernel, it would never touch 
swap space.  It ran just fine out of RAM pretty much no matter what 
load I put on the machine and ran without touching swap for weeks at a 
time.  With the latest kernel, it's actually touched the swap space for 
the first time ever - and only in a few hours after bootup when I fired 
off one buildworld -j8.

Addmittedly, it only used 309K of swap, and with last nights (failed) 
build, it's now used 608K.  But it's very odd that it's used any at all.

Another oddness.  With the earlier kernel, I had no trouble running 
-j12 builds.  With the latest kernel, -j8 initially started failing 
until I bumped up maxusers from 10 to 32.  There were no compiler 
errors - it looked like it ran out of file-descriptors (!) for some 
reason and either compiles or makes started failing.  So I bumped up 
maxusers as a temporary workaround.  I've also appended my config file 
below.

top always shows quite a lot of inactive memory - from 90M and up.  
There's plenty of cache, buffers, and free space, so I don't understand 
why it ever touches swap now when it didn't before.  Are the ELF X 
binaries taking up *that* much more memory?  Perhaps something odd with 
ELF shared-libs?

I haven't managed to crash the machine but I can see where people with 
less RAM and less swap could start running out of resources fairly 
easily.  I do have some time to experiment so an pointers to areas of 
code to examine or patches to try would be much appreciated.  Thanks!


	-- Parag Patel


--==_Exmh_-5132980690
Content-Type: text/plain ; name="PINHEAD"; charset=us-ascii
Content-Description: PINHEAD
Content-Disposition: attachment; filename="PINHEAD"

#
# GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks
#
# For more information read the handbook part System Administration -> 
# Configuring the FreeBSD Kernel -> The Configuration File. 
# The handbook is available in /usr/share/doc/handbook or online as
# latest version from the FreeBSD World Wide Web server 
# <URL:http://www.FreeBSD.ORG/>;
#
# An exhaustive list of options and more detailed explanations of the 
# device lines is present in the ./LINT configuration file. If you are 
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
#	$Id: GENERIC,v 1.112 1998/07/20 20:00:29 msmith Exp $

machine		"i386"
#cpu		"I386_CPU"
#cpu		"I486_CPU"
cpu		"I586_CPU"	# for npx0
cpu		"I686_CPU"
ident		PINHEAD
maxusers	32

#options	MATH_EMULATE		#Support for x87 emulation
options		INET			#InterNETworking
options		NETATALK		#Appletalk communications protocols
#options	NETATALKDEBUG
options		FFS			#Berkeley Fast Filesystem
options		NFS			#Network Filesystem
options		MFS			#Memory File System
options		MSDOSFS			#MSDOS Filesystem
options		"CD9660"		#ISO 9660 Filesystem
options		"CD9660_ROOT"		#CD-ROM usable as root device
options		FFS_ROOT		#FFS usable as root device [keep this!]
options		NFS_ROOT		#NFS usable as root device
options		PROCFS			#Process filesystem
options		"COMPAT_43"		#Compatible with BSD 4.3 [KEEP THIS!]
#options	SCSI_DELAY=15000	#Be pessimistic about Joe SCSI device
options		SCSI_DELAY=2000
options		UCONSOLE		#Allow users to grab the console
options		FAILSAFE		#Be conservative
options		USERCONFIG		#boot -c editor
options		VISUAL_USERCONFIG	#visual boot -c editor
options		USER_LDT		#allow user-level control of i386 ldt - wine
options		"MD5"
options		"VM86"
#options		VESA

options		SMP			# Symmetric MultiProcessor Kernel
options		APIC_IO			# Symmetric (APIC) I/O
options		SOFTUPDATES		#Copyrighted FFS changes

# These provide support for System V shared memory/semaphores/message-queues
#
options		SYSVSHM
options		SYSVSEM
options		SYSVMSG

# POSIX P1003.1B
#
# Real time extensions added int the 1993 Posix
# P1003_1B: Infrastructure
# _KPOSIX_PRIORITY_SCHEDULING: Build in _POSIX_PRIORITY_SCHEDULING
# _KPOSIX_VERSION:             Version kernel is built for
#
options		"P1003_1B"
options		"_KPOSIX_PRIORITY_SCHEDULING"
options		"_KPOSIX_VERSION=199309L"


# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
options		KTRACE		#kernel tracing

# Turn on kernel debugging
#
options		DDB

config		kernel	root on da0

controller	isa0
#controller	eisa0
controller	pci0

controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0
#disk		fd1	at fdc0 drive 1
# Unless you know very well what you're doing, leave ft0 at drive 2, or
# remove the line entirely if you don't need it.  Trying to configure
# it on another unit might cause surprises, see PR kern/7176.
#tape		ft0	at fdc0 drive 2

options		"CMD640"	# work around CMD640 chip deficiency
controller	wdc0	at isa? port "IO_WD1" bio irq 14 flags 0xA0FFA0FF vector wdintr
#disk		wd0	at wdc0 drive 0
#disk		wd1	at wdc0 drive 1

controller	wdc1	at isa? disable port "IO_WD2" bio irq 15 flags 0xA0FFA0FF vector wdintr
#disk		wd2	at wdc1 drive 0
#disk		wd3	at wdc1 drive 1
disk		wd0	at wdc1 drive 0
disk		wd1	at wdc1 drive 1

options		ATAPI		#Enable ATAPI support for IDE bus
options		ATAPI_STATIC	#Don't do it as an LKM
#device          acd0		#IDE CD-ROM, CD-R/RW
device		wcd0		#IDE CD-ROM
#device		wfd0		#IDE Floppy (e.g. LS-120)

# Enable PnP support in the kernel.  This allows you to automaticly
# attach to PnP cards for drivers that support it and allows you to
# configure cards from USERCONFIG.  See pnp(4) for more info.
controller	pnp0

# Luigi's snd code (use INSTEAD of snd0 and all VOXWARE drivers!).
# You may also wish to enable the pnp controller with this, for pnp
# sound cards.
#
device pcm0 at isa? port ? tty irq 10 drq 1 flags 0x0 vector pcmintr


# Joystick(s)
#
device		joy0	at isa? port "IO_GAME"
device		joy1	at isa? port "IO_GAME"


# A single entry for any of these controllers (ncr, ahb, ahc, amd) is
# sufficient for any number of installed devices.
controller	ncr0
#controller	amd0
#controller	ahb0
controller	ahc0
#controller	isp0

# The aic7xxx driver will attempt to use memory mapped I/O for all PCI
# controllers that have it configured only if this option is set. Unfortunately,
# this doesn't work on some motherboards, which prevents it from being the
# default.
options AHC_ALLOW_MEMIO

# This controller offers a number of configuration options, too many to
# document here  - see the LINT file in this directory and look up the
# dpt0 entry there for much fuller documentation on this.  The options
# line following dpt0 here is also currently a *required* option for it.
#controller      dpt0
#options DPT_MEASURE_PERFORMANCE

#controller	bt0	at isa? port "IO_BT0" bio irq ? vector bt_isa_intr
#controller	uha0	at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
#controller	aha0	at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
#controller	aic0	at isa? port 0x340 bio irq 11 vector aicintr
#controller	nca0	at isa? port 0x1f88 bio irq 10 vector ncaintr
#controller	nca1	at isa? port 0x350 bio irq 5 vector ncaintr
#controller	sea0	at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr

controller	scbus0	#base SCSI code
#device		ch0	#SCSI media changers
device		da0	#SCSI direct access devices (aka disks)
device		sa0	#SCSI tapes
device		cd0	#SCSI CD-ROMs
#device		od0	#SCSI optical disk
device		pass0	#CAM passthrough driver

#device worm0 at scbus?	# SCSI worm
#device pt0 at scbus?	# SCSI processor type
#device sctarg0 at scbus? # SCSI target

#device		wt0	at isa? port 0x300 bio irq 5 drq 1 vector wtintr
#device		mcd0	at isa? port 0x300 bio irq 10 vector mcdintr

#controller	matcd0	at isa? port 0x230 bio

#device		scd0	at isa? port 0x230 bio

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device		vt0	at isa? port "IO_KBD" tty irq 1 vector pcrint
#options		XSERVER			# support for X server
#options		FAT_CURSOR		# start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options		PCVT_SCANSET=2		# IBM keyboards are non-std

device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

#
# Laptop support (see LINT for more options)
#
#device		apm0    at isa?	disable	flags 0x31 # Advanced Power Management

# PCCARD (PCMCIA) support
#controller	card0
#device		pcic0	at card?
#device		pcic1	at card?

device		sio0	at isa? port "IO_COM1" flags 0x10 tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr
device		sio2	at isa? port "IO_COM3" tty irq 5 vector siointr
device		sio3	at isa? port "IO_COM4" tty irq 9 vector siointr

device		lpt0	at isa? port? tty irq 7 vector lptintr
device		lpt1	at isa? port? tty
#device		mse0	at isa? port 0x23c tty irq 5 vector mseintr

device		psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

# Order is important here due to intrusive probes, do *not* alphabetize
# this list of network interfaces until the probes have been fixed.
# Right now it appears that the ie0 must be probed before ep0. See
# revision 1.20 of this file.
device de0
device fxp0
#device tl0
#device tx0
#device vx0

#device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr
#device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr
#device ep0 at isa? port 0x300 net irq 10 vector epintr
#device ex0 at isa? port? net irq? vector exintr
#device fe0 at isa? port 0x300 net irq ? vector feintr
#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr
#device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zeintr
#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
#device cs0 at isa? port 0x300 net irq ? vector csintr

pseudo-device	loop
pseudo-device	ether
pseudo-device	sl	1
pseudo-device	ppp	1
pseudo-device	tun	1
pseudo-device	pty	16
pseudo-device	gzip		# Exec gzipped a.out's
pseudo-device	bpfilter	16	#Berkeley packet filter
pseudo-device	vn		#Vnode driver (turns a file into a device)
#pseudo-device	ccd	4	#Concatenated disk driver

--==_Exmh_-5132980690
Content-Type: text/plain ; name="dmesg"; charset=us-ascii
Content-Description: dmesg
Content-Disposition: attachment; filename="dmesg"

Copyright (c) 1992-1998 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 3.0-CURRENT #19: Fri Dec 18 15:52:34 PST 1998
    parag@pinhead.parag.codegen.com:/usr/src/sys/compile/PINHEAD
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium II (686-class CPU)
  Origin = "GenuineIntel"  Id = 0x634  Stepping=4
  Features=0x80fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,MMX>
real memory  = 268435456 (262144K bytes)
config> quit
avail memory = 258289664 (252236K bytes)
Programming 24 pins in IOAPIC #0
FreeBSD/SMP: Multiprocessor motherboard
 cpu0 (BSP): apic id:  1, version: 0x00040011, at 0xfee00000
 cpu1 (AP):  apic id:  0, version: 0x00040011, at 0xfee00000
 io0 (APIC): apic id:  2, version: 0x00170011, at 0xfec00000
Preloaded elf kernel "kernel" at 0xf02d9000.
Probing for devices on PCI bus 0:
chip0: <Host to PCI bridge (vendor=8086 device=7180)> rev 0x03 on pci0.0.0
chip1: <PCI to PCI bridge (vendor=8086 device=7181)> rev 0x03 on pci0.1.0
chip2: <Intel 82371AB PCI to ISA bridge> rev 0x01 on pci0.4.0
ide_pci0: <Intel PIIX4 Bus-master IDE controller> rev 0x01 on pci0.4.1
chip3: <Intel 82371AB Power management controller> rev 0x01 on pci0.4.3
ahc0: <Adaptec aic7880 Ultra SCSI adapter> rev 0x00 int a irq 19 on pci0.6.0
ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
fxp0: <Intel EtherExpress Pro 10/100B Ethernet> rev 0x05 int a irq 17 on pci0.11.0
fxp0: Ethernet address 00:a0:c9:da:98:26
Probing for devices on PCI bus 1:
vga0: <Matrox model 051f graphics accelerator> rev 0x00 int a irq 16 on pci1.0.0
Probing for PnP devices:
CSN 1 Vendor ID: CTL00e4 [0xe4008c0e] Serial 0x08de2f0a Comp ID: PNPb02f [0x2fb0d041]
pcm1 (SB16pnp <SB16 PnP> sn 0x08de2f0a) at 0x220-0x22f irq 10 drq 1 flags 0x15 on isa
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles, flags=0x0>
pcm0 not probed due to drq conflict with pcm1 at 1
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
sio2 at 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
sio3 at 0x2e8-0x2ef irq 9 on isa
sio3: type 16550A
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
lpt1 at 0x278-0x27f on isa
psm0 at 0x60-0x64 irq 12 on motherboard
psm0: model MouseMan+, device ID 0
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
wdc0 at 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa
wdc0: unit 0 (atapi): <TOSHIBA CD-ROM XM-6202B/1108>, removable, accel, ovlap, dma, iordis
wcd0: 5512KB/sec, 256KB cache, audio play, 255 volume levels, ejectable tray
wcd0: no disc inside, unlocked
joy0 at 0x201 on isa
joy0: joystick
joy1 not probed due to I/O address conflict with joy0 at 0x201
npx0 on motherboard
npx0: INT 16 interface
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: routing 8254 via pin 2
Waiting 2 seconds for SCSI devices to settle
SMP: AP CPU #1 Launched!
pass4 at ahc0 bus 0 target 6 lun 0
pass4: <UMAX Astra 600S V1.6> Fixed Scanner SCSI-2 device 
pass4: 3.300MB/s transfers
changing root device to da0s2a
da1 at ahc0 bus 0 target 1 lun 0
da1: <QUANTUM FIREBALL_TM3200S 300N> Fixed Direct Access SCSI-2 device 
da1: 10.0MB/s transfers (10.0MHz, offset 15), Tagged Queueing Enabled
da1: 3067MB (6281856 512 byte sectors: 255H 63S/T 391C)
cd0 at ahc0 bus 0 target 4 lun 0
cd0: <SONY CD-R   CDU926S 1.1e> Removable Worm SCSI-2 device 
cd0: 10.0MB/s transfers (10.0MHz, offset 15)
cd0: Attempt to query device size failed: NOT READY, Medium not present
da2 at ahc0 bus 0 target 2 lun 0
da2: <IBM DCAS-34330W S65A> Fixed Direct Access SCSI-2 device 
da2: 20.0MB/s transfers (10.0MHz, offset 8, 16bit), Tagged Queueing Enabled
da2: 4134MB (8467200 512 byte sectors: 255H 63S/T 527C)
da0 at ahc0 bus 0 target 0 lun 0
da0: <IBM DCAS-34330W S65A> Fixed Direct Access SCSI-2 device 
da0: 20.0MB/s transfers (10.0MHz, offset 8, 16bit), Tagged Queueing Enabled
da0: 4134MB (8467200 512 byte sectors: 255H 63S/T 527C)
ffs_mountfs: superblock updated for soft updates
ffs_mountfs: superblock updated for soft updates
(da0:ahc0:0:0:0): tagged openings now 64
(da2:ahc0:0:2:0): tagged openings now 64

--==_Exmh_-5132980690--



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812191907.LAA80764>