Re: InnnoDb - change innodb_buffer_pool_size ?
Hello Michael! Michael Gale wrote: Hello, I have finished reading something similer on the web, why is there a 2GB limit ? I assume you are using Linux on an x86 compatible machine (Pentium, Athlon, ...), so you have 32 bit addresses. 32 bit give you 4 G different values; as each address identifies a single byte, you can address 4 GB on the machine. The Linux kernel differs between user and system addresses, this is essential to pass data around, for example in system calls. Traditionally, this was done on the highest address bit (2 GB system address space, 2 GB user). With the growing size of applications, this has become configurable (with kernel generation) to a 1 / 3 ratio. If I can compile the kernel to say eys there is 4GB of memory why can mysql not use 3GB of it ? But still these 3 GB (space of virtual addresses) must hold everything the application (in your case: MySQL) can address, so it contains code, stacks of all threads in the process, static data, all configurable buffers etc. As a first step, you can use the size command on mysqld to get some of these values, then calculate the total thread stack space and add it. Subtract that from your user address space size (2 or 3 GB), and distribute the result among all buffers, caches etc. In any case, I see no way to use 3 GB just for the InnoDB buffer pool on a 32 bit system. Joerg Bruehe -- Joerg Bruehe, Senior Production Engineer MySQL AB, www.mysql.com -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: InnnoDb - change innodb_buffer_pool_size ?
On Tuesday 14 June 2005 11:57 pm, Michael Gale wrote: Even if I change the value to 2G it still will not load ? Because the value was 500M before do I not have to remove the ib* files and have them recreated ? 2g is still to large.. its 2gig for all buffer pools, not just that one.. I keep mine to 1.5 and all the others are really low or turned off. Jeff pgpTAtr1JpbRo.pgp Description: PGP signature
InnnoDb - change innodb_buffer_pool_size ?
Hello, I am running mysql 4.0.20 with Innodb and we have upgrade grade the RAM in the system from 1GB to 4GB :). Now If I change the: innodb_buffer_pool_size From 500M to 3G the service will not start. I remember reading something about this before and I believe I need to delete the ib_logfile* files or something .. and they will get recreated on start up ?? Any help is appreciated :) Here is my mysql.log output: 050614 19:50:50 mysqld started 050614 19:50:50 Warning: Asked for 196608 thread stack, but got 126976 InnoDB: Fatal error: cannot allocate 3221241856 bytes of InnoDB: memory with malloc! Total allocated memory InnoDB: by InnoDB 20288332 bytes. Operating system errno: 12 InnoDB: Cannot continue operation! 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 now intentionally generate a seg fault so that InnoDB: on Linux we get a stack trace. mysqld got signal 11; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail. key_buffer_size=67108864 read_buffer_size=2093056 max_used_connections=0 max_connections=100 threads_connected=0 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 3546735 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. thd=0x8424780 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... Bogus stack limit or frame pointer, fp=0xbfffeb88, stack_bottom=0x20386365, thread_stack=126976, aborting backtrace. Trying to get some variables. Some pointers may be invalid and cause the dump to abort... thd-query at 0x64207369 is invalid pointer thd-thread_id=484 The manual page at http://www.mysql.com/doc/en/Crashing.html contains information that should help you find out what is causing the crash. 050614 19:50:50 mysqld ended Michael -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
RE: InnnoDb - change innodb_buffer_pool_size ?
If you are running on a 32 bit operating system, (e.g. Linux) you can not allocate that much memory for InnoDB. The max you could allocate would be 2GB, but that would be pushing it. You also have to account for MyISAM memory usage (key_buffer_size) and per thread memory allocations as well. Partha -- Partha Dutta, Senior Consultant MySQL Inc, NY, USA, www.mysql.com Are you MySQL certified? www.mysql.com/certification -Original Message- From: Michael Gale [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 14, 2005 10:04 PM To: mysql@lists.mysql.com Subject: InnnoDb - change innodb_buffer_pool_size ? Hello, I am running mysql 4.0.20 with Innodb and we have upgrade grade the RAM in the system from 1GB to 4GB :). Now If I change the: innodb_buffer_pool_size From 500M to 3G the service will not start. I remember reading something about this before and I believe I need to delete the ib_logfile* files or something .. and they will get recreated on start up ?? Any help is appreciated :) Here is my mysql.log output: 050614 19:50:50 mysqld started 050614 19:50:50 Warning: Asked for 196608 thread stack, but got 126976 InnoDB: Fatal error: cannot allocate 3221241856 bytes of InnoDB: memory with malloc! Total allocated memory InnoDB: by InnoDB 20288332 bytes. Operating system errno: 12 InnoDB: Cannot continue operation! 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 now intentionally generate a seg fault so that InnoDB: on Linux we get a stack trace. mysqld got signal 11; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail. key_buffer_size=67108864 read_buffer_size=2093056 max_used_connections=0 max_connections=100 threads_connected=0 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 3546735 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. thd=0x8424780 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... Bogus stack limit or frame pointer, fp=0xbfffeb88, stack_bottom=0x20386365, thread_stack=126976, aborting backtrace. Trying to get some variables. Some pointers may be invalid and cause the dump to abort... thd-query at 0x64207369 is invalid pointer thd-thread_id=484 The manual page at http://www.mysql.com/doc/en/Crashing.html contains information that should help you find out what is causing the crash. 050614 19:50:50 mysqld ended Michael -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: InnnoDb - change innodb_buffer_pool_size ?
Hello, I have finished reading something similer on the web, why is there a 2GB limit ? If I can compile the kernel to say eys there is 4GB of memory why can mysql not use 3GB of it ? For know I have set the limit at 2GB. Michael Partha Dutta wrote: If you are running on a 32 bit operating system, (e.g. Linux) you can not allocate that much memory for InnoDB. The max you could allocate would be 2GB, but that would be pushing it. You also have to account for MyISAM memory usage (key_buffer_size) and per thread memory allocations as well. Partha -- Partha Dutta, Senior Consultant MySQL Inc, NY, USA, www.mysql.com Are you MySQL certified? www.mysql.com/certification -Original Message- From: Michael Gale [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 14, 2005 10:04 PM To: mysql@lists.mysql.com Subject: InnnoDb - change innodb_buffer_pool_size ? Hello, I am running mysql 4.0.20 with Innodb and we have upgrade grade the RAM in the system from 1GB to 4GB :). Now If I change the: innodb_buffer_pool_size From 500M to 3G the service will not start. I remember reading something about this before and I believe I need to delete the ib_logfile* files or something .. and they will get recreated on start up ?? Any help is appreciated :) Here is my mysql.log output: 050614 19:50:50 mysqld started 050614 19:50:50 Warning: Asked for 196608 thread stack, but got 126976 InnoDB: Fatal error: cannot allocate 3221241856 bytes of InnoDB: memory with malloc! Total allocated memory InnoDB: by InnoDB 20288332 bytes. Operating system errno: 12 InnoDB: Cannot continue operation! 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 now intentionally generate a seg fault so that InnoDB: on Linux we get a stack trace. mysqld got signal 11; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail. key_buffer_size=67108864 read_buffer_size=2093056 max_used_connections=0 max_connections=100 threads_connected=0 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 3546735 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. thd=0x8424780 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... Bogus stack limit or frame pointer, fp=0xbfffeb88, stack_bottom=0x20386365, thread_stack=126976, aborting backtrace. Trying to get some variables. Some pointers may be invalid and cause the dump to abort... thd-query at 0x64207369 is invalid pointer thd-thread_id=484 The manual page at http://www.mysql.com/doc/en/Crashing.html contains information that should help you find out what is causing the crash. 050614 19:50:50 mysqld ended Michael -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: InnnoDb - change innodb_buffer_pool_size ?
Hello, Even if I change the value to 2G it still will not load ? Because the value was 500M before do I not have to remove the ib* files and have them recreated ? Michael Michael Gale wrote: Hello, I am running mysql 4.0.20 with Innodb and we have upgrade grade the RAM in the system from 1GB to 4GB :). Now If I change the: innodb_buffer_pool_size From 500M to 3G the service will not start. I remember reading something about this before and I believe I need to delete the ib_logfile* files or something .. and they will get recreated on start up ?? Any help is appreciated :) Here is my mysql.log output: 050614 19:50:50 mysqld started 050614 19:50:50 Warning: Asked for 196608 thread stack, but got 126976 InnoDB: Fatal error: cannot allocate 3221241856 bytes of InnoDB: memory with malloc! Total allocated memory InnoDB: by InnoDB 20288332 bytes. Operating system errno: 12 InnoDB: Cannot continue operation! 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 now intentionally generate a seg fault so that InnoDB: on Linux we get a stack trace. mysqld got signal 11; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail. key_buffer_size=67108864 read_buffer_size=2093056 max_used_connections=0 max_connections=100 threads_connected=0 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 3546735 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. thd=0x8424780 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... Bogus stack limit or frame pointer, fp=0xbfffeb88, stack_bottom=0x20386365, thread_stack=126976, aborting backtrace. Trying to get some variables. Some pointers may be invalid and cause the dump to abort... thd-query at 0x64207369 is invalid pointer thd-thread_id=484 The manual page at http://www.mysql.com/doc/en/Crashing.html contains information that should help you find out what is causing the crash. 050614 19:50:50 mysqld ended Michael -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]