Details
-
Bug
-
Status: Open (View Workflow)
-
Critical
-
Resolution: Unresolved
-
10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11, 11.0, 11.1, 11.2
Description
The initialization of innodb buffer pool chunks/blocks on allocation has a number of consequences.
- on very large memory systems this can take significant time
- the initialization of data in the allocated memory forces this to paged into the process resulting in a real allocation out of the available OS space.
The second becomes a problem when a large number of processes are on the system, potentially a large number of mariadb instances all competing for memory. A claim on use approach leaves more RAM available for other processes if mariadb doesn't end up using it.
Sizing innodb buffer pool is a hard task so lets try to make it easier, or just less consequences if its wrong.
The proposal is buf_pool_t::chunk_t::create removed the initialization (buf_block_init) and this becomes detected when blocks/chunks are used and then initialized there.
Attachments
Issue Links
- blocks
-
MDEV-29445 reorganise innodb buffer pool (and remove buffer pool chunks)
- Stalled
- relates to
-
MDEV-25341 innodb buffer pool soft decommit of memory
- Closed
-
MDEV-24670 avoid OOM by linux kernel co-operative memory management
- Closed
-
MDEV-25342 autosize innodb_buffer_pool_chunk_size
- Closed