Date: Sun, 09 Jul 2006 23:52:00 +0200 From: Mathieu Arnold <mat@FreeBSD.org> To: Mike Jakubik <mikej@rogers.com> Cc: stable@freebsd.org Subject: Re: MySQL and default memory limits (mysqld: Out of memory) Message-ID: <146D5072D1FBB23E25430AD6@[192.168.1.5]> In-Reply-To: <44B176D2.3080501@rogers.com> References: <44B16BE9.60508@rogers.com> <E56FEA0F58A776685B3AB5DF@[192.168.1.5]> <44B176D2.3080501@rogers.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--==========F735760550EA3754F2F7========== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline +-Le 09/07/2006 17:36 -0400, Mike Jakubik a dit : | Mathieu Arnold wrote: |> +-Le 09/07/2006 16:49 -0400, Mike Jakubik a dit : |> | I just setup a new system with MySQL 5.0.22, and to my surprise i get |> | this error in MySQL's log. |> | |> | /usr/local/libexec/mysqld: Out of memory (Needed 237527040 bytes) |> | /usr/local/libexec/mysqld: Out of memory (Needed 178145280 bytes) |> | |> | The system has 1GB of ram, which is plenty for MySQLs configuration |> | (its using the my-large.cnf, which is tuned for a system of 512MB) |> | |> | |> | Why am i getting this error? I read somewhere that FreeBSD by default |> | limits process size to 512MB, however the variables used to tune it do |> | not seems to exist in FreeBSD-6.1 any more. How can i let MySQL use |> | more memory? |> |> If you're using a i386, the max process memory size limit is at 512M, |> you'll have to tune kern.maxdsiz in /boot/loader.conf to say 1G. |> |> | | Why are the limits so low by default? In any case, this is what i found | in LINT. | | options MAXDSIZ=(1024UL*1024*1024) | options MAXSSIZ=(128UL*1024*1024) | options DFLDSIZ=(1024UL*1024*1024) That's the LINT value, the *real* default values are in <arch>/include/vmparam.h that is, 1G on alpha, ia64 and sparc64, 512K on i386, powerpc and arm and 32G (?) on amd64 | I have no idea what those values mean, what should i set them to to be | safe? A limit 768MB should work for me. You can put 1G and you'd be safe for some time. It has no real, hum, relation with the amount of ram you get, because some parts of your process will get swapped out : PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 9860 mysql 18 96 0 614M 257M ucond 1 1:22 1.22% mysqld so, as I understand it, mysqld has 614M allocated, from which 257 are actually in RAM (the rest being swapped out.) -- Mathieu Arnold --==========F735760550EA3754F2F7========== Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (MingW32) iD8DBQFEsXqAJqR8av5thQ8RAg/8AKCAcbrO7LekY1zUVZzE9RKaygkVeQCcDg1E D5jKQtT312DhZois6TNuuso= =yoSS -----END PGP SIGNATURE----- --==========F735760550EA3754F2F7==========--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?146D5072D1FBB23E25430AD6>