On Tue, 13 Jul 2004 23:26:48 +0100, Marvin Wright <[EMAIL PROTECTED]> wrote: > Hi, > > I'm now running redhat AS 3.0 with kernel version 2.4 and have 8GB of RAM. > > If I set my innodb_buffer_pool to 2048M, it just will not start, I get this > error. > > 040713 22:10:24 mysqld started > 040713 22:10:24 Warning: Asked for 196608 thread stack, but got 126976 > InnoDB: Fatal error: cannot allocate 2147500032 bytes of > InnoDB: memory with malloc! Total allocated memory
Now I remember what I tracked down the limit to be ... 2147500032 is just above 2 gigabytes of memory. From what I have seen, glibc (not sure if this is fixed in recent versions) just refuses to allocate chunks of memory larger than 2 gigs in a single call. This seems a little odd given the library the malloc code is based on, but I haven't dug deeper. You can probably get around this if you do both of: 1. replace the call to malloc() in the innodb source with one that does a mmap() 2. run a kernel that has the 4G/4G patch, and possibly also moves where mmap()ed regions start to be a bit lower than 1 gig (not sure what the 4G/4G patch does with that). A pain in the ass. I strongly encourage people wanting larger innodb buffers to consider 64-bit Opterons or, less desirably, Intel's xeons w/64-bit support when they become generally available fairly soon. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]