On Tue, 23 Aug 2005, Jeremiah Gowdy wrote:

The limit you are running into is the maxdsiz or max data size for a process. It is defaulting to 512MB. In FreeBSD 5.x you don't have to recompile your kernel to set a different maxdsiz. See /boot/defaults/loader.conf. Putting kern.maxdsiz="1073741824" in /boot/loader.conf should work.

This is somewhat covered here (but should be updated regarding loader.conf as a means to set maxdsiz):

http://dev.mysql.com/doc/mysql/en/freebsd.html

 Excellent!  Just what I needed.

 I've summarized my experience and posted a Tip on both the above mentioned
 page and the InnoDB OS Error Codes manual page:

 http://dev.mysql.com/doc/mysql/en/operating-system-error-codes.html

 My summary:

    On FreeBSD 5.x, there is a hard limit default compiled into the kernel
    which limits the amount of memory a process can use to 512MB. You can
    see this by running the command "limits."

    You can, without recompiling the kernel, increase this maximum process
    size memory limit to any number, as long as that number is absolutely
    below your physical memory. I.e. if you have 1GB of memory, do not set
    your per process memory limit equal to or higher than that! FreeBSD 5.x
    will crash and not be able to be recovered without a local change being
    made if you set that limit higher than the amount of physical memory .
    (FreeBSD Bug: http://www.freebsd.org/cgi/query-pr.cgi?pr=84656)

    In /boot/loader.conf (NOT sysctl.conf), add these lines (on a box with
    1.5GB or more memory):
        kern.maxdsiz="1073741824" # 1GB
        kern.dfldsiz="1073741824" # 1GB
        kern.maxssiz="134217728" # 128MB

    Then reboot, and increase your my.cnf memory configuration values in
    order to increase mysql memory usage.

    The Operating system error number you will see is 12 (ENOMEM) Out of
    memory:

    InnoDB: Error: cannot allocate 797284 bytes of
    InnoDB: memory with malloc! Total allocated memory
    InnoDB: by InnoDB 6299504 bytes. Operating system errno: 12
    InnoDB: Check if you should increase the swap file or
    InnoDB: ulimits of your operating system.
    InnoDB: On FreeBSD check you have compiled the OS with
    InnoDB: a big enough maximum process size.
    InnoDB: We keep retrying the allocation for 60 seconds...
    InnoDB: Fatal error: cannot allocate the memory for the buffer pool


 Hope that helps someone else.  Thanks for the help Jeremiah!

Beckman
---------------------------------------------------------------------------
Peter Beckman                                                  Internet Guy
[EMAIL PROTECTED]                             http://www.purplecow.com/
---------------------------------------------------------------------------

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to