Subject: Re: sysctl & process limitations
To: Manuel Bouyer <bouyer@antioche.lip6.fr>
From: Randy Arabie <rrarabie@arabie.org>
List: netbsd-help
Date: 02/05/2002 08:53:08
On Tue, 5 Feb 2002, Manuel Bouyer wrote:
> On Tue, Feb 05, 2002 at 08:34:34AM -0700, Randy Arabie wrote:
> > You mention that, mysqld AND mysql. You will note above that when I checked mysqld with fstat,
> > there were only 64 files open. That, coincidentally, is the default proc.curproc.rlimit.descriptors.soft
> > setting.
> >
> > Does mysqld fork they mysql process, which may not be inheriting the limits set for mysqld?
> >
> > Can I add a line in /etc/sysctl.conf to allow all processes to have a greater default soft limit for
> > descriptors?
>
> The sysctl stuff should be enouth. Did you check that the values have really
> been raised ?
Yes. After I changed with the sysctl -w command I confirmed with sysctl -a proc.[pid].rlimit, they all
looked good.
> The 'safe_mysqld' script I use has an option to raise the limit:
> /usr/pkg/bin/safe_mysqld --open-files-limit=256
So, from my 'safe_mysqld' script, I could edit the following block:
<SNIP>
# QQ The --open-files should be removed
--open-files=*) open_files=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--open-files-limit=*) open_files=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--core-file-size=*) core_file_size=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--timezone=*) TZ=`echo "$arg" | sed -e "s;--[^=]*=;;"` ; export TZ; ;;
--mysqld=*) MYSQLD=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--mysqld-version=*)
tmp=`echo "$arg" | sed -e "s;--[^=]*=;;"`
if test -n "$tmp"
</SNIP>
Where I see '--open-files-limit=*' above, I could change the '*' to '256'?
> Anyway the error code doesn't match a per-process limit but a system limit.
> This is why I would use ktrace to check what the error really is.
My original trace last week confirmed that the error was error: 23. I was tracing
mysqld.
--
Cheers!
Randy