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>