MySQL Error: Can't create a new thread (errno 35); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug

Vincent Hoffman vince at unsane.co.uk
Tue Sep 23 11:16:49 UTC 2008


Sam Nilsson wrote:
> Hello,
>
> The error message: Can't create a new thread (errno 35); if you are
> not out of available memory, you can consult the manual for a possible
> OS-dependent bug
>
> Our website started getting this error several weeks ago (when we
> increased the number of application server machines connecting to the
> database from 5 to 7.  It seems to happen anywhere from every 2 days
> to once a week, there does not seem to be a consistent pattern.  Our
> CPU utilization, memory utilization,  and number of HTTP Requests seem
> to be at "normal" (they are no where closed to being maxed out).  When
> this error happens we CAN log onto the server with the MySQL database,
> but I CAN NOT use the mysql client to connect to the mysql database
> (localhost connection as root) - it reports the error mentioned
> above.   The way we temporarily solve the problem is to restart one of
> our web servers.
>
> Here is our technology stack:
>
> Web Servers: 7, Each server has:
>   4 Gb of Memory on each server
>   FreeBSD 6.2-RELEASE-p9
>   2.4 GHz CPU
>   Apache 2.2
>   Webware for Python
>   Python 2.5
>
> DB Servers: One Master, Two Read Only (replication)
>   4 GB of Memory on each server
>   FreeBSD 6.3-RELEASE-p3 FreeBSD 6.3-RELEASE-p3
>   MySQL 5.0.1
>
>
> We have tried bumping up our number of max allowed connections (up to
> 1000) on MySQL and kern.ssize to 512Mb for FreeBSD.   That did not
> help.  The max connections usually hovers ~300, so it does not even
> get close to the 1000 we have set.  Finally the last place that we
> have looked is the openfiles, it is set at 20,000 for the whole
> system, with 14K per process on the FreeBSD operating system.
>
>
> Here are some relevent items from my.cnf:
>  - set-variable = max_connections=1000
>  - set-variable = key_buffer_size=384M
>  - set-variable = read_buffer_size=64M
>  - set-variable = read_rnd_buffer_size=32M
>  - set-variable = thread_cache_size=20
>
> Any help would be much appreciated.
>
> Thanks
> - Sam Nilsson
>
If you havent already, you could try increasing the per process memory
limit as per examples in
http://unix.derkeiler.com/Mailing-Lists/FreeBSD/hackers/2008-05/msg00258.html
(man tuning also says a bit about these tuneables but doesnt have the
examples that post does)


Vince
>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org"



More information about the freebsd-questions mailing list