From owner-freebsd-stable Fri May 21 2: 3:16 1999 Delivered-To: freebsd-stable@freebsd.org Received: from relay.ucb.crimea.ua (relay.ucb.crimea.ua [212.110.138.1]) by hub.freebsd.org (Postfix) with ESMTP id B77971596F for ; Fri, 21 May 1999 02:02:28 -0700 (PDT) (envelope-from ru@ucb.crimea.ua) Received: (from ru@localhost) by relay.ucb.crimea.ua (8.9.3/8.9.3/UCB) id MAA29217; Fri, 21 May 1999 12:00:39 +0300 (EEST) (envelope-from ru) Date: Fri, 21 May 1999 12:00:39 +0300 From: Ruslan Ermilov To: Yusuf Goolamabbas Cc: freebsd-stable@FreeBSD.ORG Subject: Re: Trying to understand "proc: table is full" message Message-ID: <19990521120039.A10590@relay.ucb.crimea.ua> Mail-Followup-To: Yusuf Goolamabbas , freebsd-stable@FreeBSD.ORG References: <19990521061520.29924.qmail@yusufg.portal2.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.3i In-Reply-To: <19990521061520.29924.qmail@yusufg.portal2.com>; from Yusuf Goolamabbas on Fri, May 21, 1999 at 06:15:20AM -0000 X-Operating-System: FreeBSD 3.2-STABLE i386 Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Fri, May 21, 1999 at 06:15:20AM -0000, Yusuf Goolamabbas wrote: > Hi, I have a PII-333 box with 196MB of RAM and two SCSI disks > (4GB,8GB) connected to an Adaptec 7880 card. I am running 3.2-STABLE > cvsupped yesterday and have configured kernel with maxusers 64 and > nmbclusters 4096. Also, I have set somaxconn to be 256 > > This machine gets a decent volume of mail and also gets a good traffic > of web hits to sites which run a lot of CGI programs > > I started to see this messages since yesterday > /kernel: proc: table is full > > on the console and in /var/log/messages > > Would appreciate if someone could provide pointers on how to interpret > this message and what parameters I should be tweaking. I am > considering upgrading the box to 512MB of RAM > > Thanks, Yusuf You need to bounce MAXUSERS. From the /usr/src/sys/kern/kern_fork.c: % /* % * Although process entries are dynamically created, we still keep % * a global limit on the maximum number we will create. Don't allow % * a nonprivileged user to use the last process; don't let root % * exceed the limit. The variable nprocs is the current number of % * processes, maxproc is the limit. % */ % uid = p1->p_cred->p_ruid; % if ((nprocs >= maxproc - 1 && uid != 0) || nprocs >= maxproc) { % tablefull("proc"); % return (EAGAIN); % } The formula for ``maxproc'' is ``maxproc = 20 + 16 * MAXUSERS'', and is hardcoded in /usr/src/sys/conf/param.c. -- Ruslan Ermilov Sysadmin and DBA of the ru@ucb.crimea.ua United Commercial Bank +380.652.247.647 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message