Details
-
Task
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
Description
Allocating sufficiently available memory but not too much has been a challenge for MariaDB and MySQL users for a significant time.
The overallocation results in a risk of OOM killing of the server process.
Linux kernel this interface:
https://www.kernel.org/doc/html/latest/accounting/psi.html
By receiving a memory event of memory pressure options are:
- madvice(DONT_NEED/FREE) on buf_pool.free
- Moving innodb buffer LRU pool chunks to free
- Resizing down innodb buffer pool
- Kill off thread cache thread(s)?
- table caches (are these large?)
So configuration would need a trigger values, "<some|full> <stall amount in us> <time window in us>", from the kernel interface. And a response for "some"/"full".
Attachments
Issue Links
- blocks
-
MDEV-31953 madvise(frame, srv_page_size, MADV_FREE) is causing a performance regression
- Closed
- causes
-
MDEV-33340 fix for MDEV-24670 causes a performance regression
- Closed
-
MDEV-34753 memory pressure - erroneous termination condition
- Closed
- relates to
-
MDEV-25340 Server startup with large innodb_buffer_pool_size takes a long time
- Open
-
MDEV-25341 innodb buffer pool soft decommit of memory
- Closed
-
MDEV-29431 SQL interface and Storage Engine interface for reclaiming memory
- Open
-
MDEV-29432 innodb huge pages reclaim
- Open
-
MDEV-19895 Support "autoset" in SET GLOBAL for AUTO_SET system variables
- Open
-
MDEV-25342 autosize innodb_buffer_pool_chunk_size
- Closed
-
MDEV-27772 Performance regression with default configuration in 10.6
- Open
-
MDEV-30762 Memory Limit reached causes mariadb server restart
- Open
-
MDEV-34863 RAM Usage Changed Significantly Between 10.11 Releases
- Open