[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mysql
Subject:    mysql: MySQLbug:  Error in accept : Too many open files in system
From:       tcobb <tcobb () staff ! circle ! net>
Date:       1998-07-30 14:43:54
[Download RAW message or body]

>Description:
	Despite every attempt to increase the # of file descriptors
available to the
mysql daemon, we frequently still get the following in the error log:

Error in accept : Too many open files in system

When that happens, the mysql daemon locks up and must be killed, though kill
-TERM does work okay.

Here are the results of limit on this system for the db user:
cputime         unlimited
filesize        unlimited
datasize        262144 kbytes
stacksize       65536 kbytes
coredumpsize    unlimited
memoryuse       unlimited
descriptors     16424
memorylocked    unlimited
maxproc         8211

Here's how we are starting the mysql daemon:
-O max_connections=2048 -O key_buffer=16M -O table_cache=128 -O
sort_buffer=4M -O record_buffer=1M -O back_log=256 -l

This mysql server is shared among many virtual hosts who connect to it via
TCP/IP.  There are no other services of note running on this machine (it is
dedicated to serving the databases).

>How-To-Repeat:
	Let the shared mysql daemon run for a while.  I have not been able
to induce it to fail on my own, however.
>Fix:
	No fix so far, but I have a theory.

	After digging around, it appears that there is a predefined limit
for the number of files available to the select command.  This is set to the
system value of FD_SETSIZE and will generate an error similar to the above
when a fd is
referenced which is greater than FD_SETSIZE.  The key is that FD_SETSIZE is
defined at COMPILE TIME and defaults to 256.

I will try recompiling the daemon with a preproc define for FD_SETSIZE of
something larger...like gmake -DFD_SETSIZE=16424 and see if that helps.

>Submitter-Id:	<submitter ID>
>Originator:	tcobb@staff.circle.net
>Organization: Circle Net, Inc. (BestHost http://www.besthost.net)
>MySQL support: license
>Synopsis:	Error in accept : Too many open files in system
>Severity:	serious
>Priority:	high
>Category:	mysql
>Class:	sw-bug
>Release:	mysql-3.21.33 (Source distribution)

>Environment:
	<machine, os, target, libraries (multiple lines)>
System: FreeBSD dou-mu.circle.net 2.2.2-RELEASE FreeBSD 2.2.2-RELEASE #0:
Mon Nov 10 10:35:25 EST 1997
root@phoenix.circle.net:/usr/src/sys/compile/DOU-MU1  i386


Some paths:  /usr/bin/perl /usr/bin/make /usr/local/bin/gmake
/usr/local/bin/gcc /usr/bin/cc
GCC: Reading specs from
/usr/local/lib/gcc-lib/i386-unknown-freebsd2.2.2/pgcc-2.90.23/specs
gcc version pgcc-2.90.23 980102 (egcs-1.0.1 release)
Compilation info: CC='gcc'  CFLAGS=''  CXX='c++'  CXXFLAGS=''  LDFLAGS=''

Perl: This is perl, version 5.004_04 built for i386-freebsd
-----------------------------------------------------------
Send a mail to mdomo@tcx.se with
unsubscribe mysql your@subscription.address
in the body of the message to unsubscribe from this list.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic