After an upgrade from MySQL 5.5 to Percona MySQL 5.7, I noticed that the usage of the RAM never goes down and MySQL always finished by using all the RAM of the server which crashed. Here some logs before the crash:
The example is based on a small server but I have big servers facing the same issue. What I found is that Percona MySQL 5.7 seems to nerver release RAM until it crashes (as shown on the graph).
I have read many information about the innodb_buffer_pool_size or on how MySQL is using the RAM but none of this helped me to get a stable system.
Any advise or information is more than welcome.
Here my my.cnf if that helps:
# # INNODB # # innodb_buffer_pool_size_mb needs to be 25%, 50% of total available RAM innodb_buffer_pool_size = 986M innodb_log_file_size = 50331648 innodb_log_buffer_size = 16777216 innodb_flush_log_at_trx_commit = 1 innodb_stats_on_metadata = 0 innodb_purge_batch_size = 5000 innodb_max_purge_lag = 1000000 innodb_purge_threads = 2 innodb_file_per_table = 1 innodb_undo_tablespaces = 6 innodb_undo_log_truncate = ON innodb_max_undo_log_size = 1073741824 # # TIMEOUT AND LIMITS # wait_timeout = 1200 interactive_timeout = 7200 thread_stack = 192K thread_cache_size = 8 max_connections = 184 max_connect_errors = 51615 max_allowed_packet = 16M group_concat_max_len = 10000000 open_files_limit = 25000 table_open_cache = 20000 table_definition_cache = 20000 # # Query Cache Configuration # query_cache_limit = 1M query_cache_type = 0 query_cache_size = 0 # # Log - should be very few entries. # log_error = /var/log/mysql/error.log #general_log_file = /var/log/mysql/mysql.log #general_log = 1 # # BINLOG # expire_logs_days = 10 max_binlog_size = 100M # # MYISAM # key_buffer_size = 16M [isamchk] key_buffer_size = 16M [mysqldump] quick quote-names max_allowed_packet = 16M
mysql_error.txt (15.6 KB)