Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!ncar!ames!oliveb!sun!sally!plocher From: plocher%sally@Sun.COM (John Plocher) Newsgroups: comp.unix.microport Subject: Re: Memory expansion problems Keywords: Unisys Acer memory expansion Message-ID: <101723@sun.Eng.Sun.COM> Date: 28 Apr 89 02:41:48 GMT References: <589@tukki.jyu.fi> Sender: news@sun.Eng.Sun.COM Reply-To: plocher@sun.UUCP (John Plocher) Organization: Sun Microsystems, Mountain View Lines: 46 In article <589@tukki.jyu.fi> makela@tukki.jyu.fi (Otto J. Makela) writes: | Easy fix (It is a known - and fixed in 3.0e.1 - bug for 386 systems only): 1) Remove (either physically or cmos setup) the new 4Mb of memory. 2) Boot Unix - it will work correctly again. 3) type this command (as root): /etc/patch /unix Nbuf It should print 0 (that's zero) This means that the system dynamically figures out how much memory to allocate for disk buffers depending on how much real memory there is. When you have more than 8Mb this table allocates too much memory for buffers and the kernel runs out of alloc()able memory. This table can be found in /etc/atconf/modules/kernel/space.c for those brave enuf to fix it [just make the numbers smaller] :-) 4) Modify this to some non zero value (i.e., lets use 100Kb of buffers): /etc/patch /unix Nbuf 100 5) Modify the #define NBUF 0 line in the kernel configuration file /usr/include/sys/kdef.h to use this value too. This keeps this problem from biting you next time you reconfigure the system. 6) shut the system down /etc/shutdown -g0 -y 7) Add the extra 4Mb again 8) Reboot Unix and all should be well. 9) If desired, copy your boot diskette and patch that kernel too: diskcopy # put the new - unwriteprotected disk in the drive mount /dev/dsk/fd /mnt /etc/patch /mnt/unix Nbuf 100 umount /mnt # take the disk out and put in a safe place -John Plocher