Running MySQL 8.0.24, I have been recently seeing frequent instances where the RHEL7 OS will kill the
mysqld process as the system memory gets all used up. The server has 65 GB of memory, and I think I have MySQL configured to use only approximately 36 GB.
|+ tmp_table_size||8192 MB|
|+ innodb_buffer_pool_size||27648 MB|
|+ innodb_additional_mem_pool_size||1 MB|
|+ innodb_log_buffer_size||16 MB|
|+ read_buffer_size||0.125 MB|
|+ read_rnd_buffer_size||0.25 MB|
|+ join_buffer_size||0.25 MB|
|+ thread_stack||0.27343750 MB|
|+ binlog_cache_size||0.03125000 MB|
Totals: 36041.95 MB
However, if I monitor processes in the OS, using
top, I see that
mysqld is using more and more memory over time, and by the time Linux kills it,
mysqld is using over 90% of memory, almost 60 GB.
I have seen the frequency of this increase of late, and it usually occurs while I am running a PHP script that does about 3000 queries in quick succession (selects), one every 5 to 15 seconds. Sounds like a lot, but should not be a problem. PHP is NOT running on the same server.
Any ideas on why
mysqld continues to consume memory, given its configured variables listed above?