MariaDB Enterprise Server InnoDB Buffer Pool

In MariaDB Enterprise Server, the InnoDB storage engine uses the Buffer Pool as an in-memory cache. The Buffer Pool caches pages that were recently accessed. If a lot of pages are being accessed sequentially, the Buffer Pool also preemptively caches nearby pages. Pages are evicted using a least recently used (LRU) algorithm.

The contents of the Buffer Pool can be reloaded at startup, so that InnoDB does not have to function with a "cold" cache after a restart. To support this, the page numbers of all pages in the Buffer Pool can be dumped at shutdown. During startup, the page numbers are read from the dump, and InnoDB uses the page numbers to reload each page from its corresponding data file.

The size of each page in the Buffer Pool depends on the value of the innodb_page_size system variable.

In versions up to MariaDB Enterprise Server 10.4 and MariaDB Community Server 10.4, the Buffer Pool is divided into multiple instances. The number of instances is configured by the innodb_buffer_pool_instances system variable. Starting with ES 10.5 and CS 10.5, the Buffer Pool always has a single instance.

Feature Summary





InnoDB Buffer Pool

Storage Engine



All ES and CS versions


Main Memory

Eviction Algorithm

Least Recently Used (LRU)


Set by innodb_buffer_pool_size (128 MB by default)

Basic Configuration

SET GLOBAL innodb_buffer_pool_size=(2 * 1024 * 1024 * 1024);

   LIKE 'innodb_buffer_pool_size';
| Variable_name           | Value      |
| innodb_buffer_pool_size | 2147483648 |