[debian-mysql] Bug#430684: Bug#430684: "/etc/init.d/mysql start" timeout with large innodb_buffer_pool_size on X86-64 systems.
Monty Taylor
mtaylor at mysql.com
Tue Jun 26 21:06:28 UTC 2007
We've actually been working on this upstream and have put in support to
specify the timeout value in the my.cnf file, as there is really no
"perfect" timeout value here.
I'll see if I can forward/point out some of the work we've done...
Monty
Paul Veldema wrote:
> Package: mysql-server-5.0
> Version: 5.0.32-7etch1
>
> When using an innodb_buffer_pool_size of 24GByte (or more) I get
> a "failed!" message starting mysql with '/etc/init.d/mysql'.
> Mysql starts anyway, however /etc/mysql/debian-start is not started.
> This happens because of a 14 second timeout in the /etc/init.d/mysql script.
>
> To reproduce:
> Use an x86_64 machine with the 64 bit version of etch and 32GB or more.
> We use an Dell PE6800, quad quad-core Xeon with 64GByte RAM.
>
> Transcript with our own settings:
>
> mysqlmachine-etch64:~# /etc/init.d/mysql stop
> mysqlmachine-etch64:~# vim /etc/mysql/my.cnf
> # add <any other innodb settings>
> # Add/Set the innodb_buffer_pool_size to more than 24GB:
> # in this case 80% of the 64GByte of the memory our (Dell PE6800)
> server has.
> innodb_buffer_pool_size = 51000M
>
> mysqlmachine-etch64:~# /etc/init.d/mysql start
> Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
> mysqlmachine-etch64:~#
>
> Some extra system info:
> mysqlmachine-etch64:~# mysql -u root -p
> Enter password:
> mysql> show variables like '%version%';
> +-------------------------+--------------------------+
> | Variable_name | Value |
> +-------------------------+--------------------------+
> | protocol_version | 10 |
> | version | 5.0.32-Debian_7etch1-log |
> | version_comment | Debian etch distribution |
> | version_compile_machine | x86_64 |
> | version_compile_os | pc-linux-gnu |
> +-------------------------+--------------------------+
>
> mysqlmachine-etch64:~# uname --all
> Linux mysqlmachine-etch64 2.6.18-4-amd64 #1 SMP Fri May 4 00:37:33 UTC
> 2007 x86_64 GNU/Linux
>
>
> Proposed fix:
> mysqlmachine-etch64:/etc/init.d:~# diff adjusted-mysql mysql
> < # 14s was reported in #? to be too few when using x86_64
> with large innodb_buffer_pool_size
> < for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> 21 22 23 24 25 26 27 28; do
> ---
> > for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14; do
>
> mysqlmachine-etch64:/etc/init.d# /etc/init.d/adjusted-mysql restart
> Stopping MySQL database server: mysqld.
> Starting MySQL database server: mysqld . . . . . . . . . . . . . . . .
> . . . . . . . . . . ..
> Checking for corrupt, not cleanly closed and upgrade needing tables..
>
> 28 seconds was enough for mysql to allocate a 51 GByte
> innodb_buffer_pool, that should be enough for most.
> With 14 seconds the maximum innodb_buffer_pool_size where the table
> checker would start was about 23GByte.
>
>
>
>
>
>
> _______________________________________________
> pkg-mysql-maint mailing list
> pkg-mysql-maint at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/pkg-mysql-maint
--
Monty Taylor
Senior Consultant
MySQL Inc., www.mysql.com
Get More with MySQL! www.mysql.com/consulting
More information about the pkg-mysql-maint
mailing list