Auto tuning sets wrong innodb_buffer_pool_size

Description

Based on a forum post: https://forums.percona.com/t/weird-innodb-buffer-pool-size-setting/9825/2

 

I verified the case. If memory limits are set to 2GB autotuning for some reason sets wrong innodb_buffer_pool_size:

+-------------------------+------------+ | Variable_name | Value | +-------------------------+------------+ | innodb_buffer_pool_size | 2147483648

What is more interesting, if I set limits to 1988Mi or 2048Mi I still get wrong innodb_buffer_pool_size.

With 1G or 4G - there is no such problem and calculation is right.

Environment

None

Smart Checklist

Activity

Show:

Sergey Pronin May 24, 2021 at 11:03 AM

Operator should be smarter here and adjust chunk_size and pool_instances. I agree with Michael here.

Right now our auto-tuner is the reason of OOMs.

Mike Eklund May 19, 2021 at 8:35 PM

Then, IMO, the operator should be better about it’s math since it is setting the innodb_buffer_pool_size based on a fraction (75%) of the container limit, so users do not end up in an OOM kill situation. That 2G limit is a hard limit in K8s.

ege.gunes May 19, 2021 at 8:07 AM

MySQL automatically adjust the buffer pool size as described in the docs:

Buffer pool size must always be equal to or a multiple of innodb_buffer_pool_chunk_size  innodb_buffer_pool_instances . If you configure innodb_buffer_pool_size to a value that is not equal to or a multiple of innodb_buffer_pool_chunk_size  innodb_buffer_pool_instances , buffer pool size is automatically adjusted to a value that is equal to or a multiple of innodb_buffer_pool_chunk_size innodb_buffer_pool_instances .

Also, there is a post in Percona blog that describes exactly the same scenario:

And the final size is 2GB. Yes! you intended to set the value to 1.5GB and you succeeded in setting it to 2GB. Even if you set 1 byte higher, like setting: 1073741825, you will end up with a buffer pool of 2GB.

Done

Details

Assignee

Reporter

Labels

Fix versions

Priority

Smart Checklist

Created March 26, 2021 at 12:26 PM
Updated March 5, 2024 at 5:55 PM
Resolved August 9, 2021 at 8:08 AM

Flag notifications