Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Not a Bug
-
10.3.12, 10.3.13, 10.3.14, 10.2(EOL)
-
None
-
(Vmware ) Debian 9 , Galera Cluster 10.3.14 . 18 Go memory
Description
Hello,
Since 1 month i have a big problem on my servers, the memory decreases slowly but never be released . Fortunatly , a reboot occurs every week when server start to swap ...
I started when ui upgrade my mariadb galera cluster (debian 8 / mariadb 10.2 ) (3 servers) on debian 9 / mariadb 10.3.12 . I upgraded the os and mariadb (now 10.3.14) without result .
The more significative example is when i have the automysqlbackup script at 5h00 am ( mysqldump ) it uses several go of memory never released ( graph zabbix )
first capture shows backup at 5h00 AM and severe memory leak (server 1 )
second capture shows ( reboot at 13/04 3h00 am and memory decrease slowly , no backup on this server (mariadb 2 )
i'm not sure at 100% is a mariadb problem but the mysqldump seem the most significant example so ....
Here my my.cnf
# MariaDB database server configuration file.
|
#
|
# You can copy this file to one of:
|
# - "/etc/mysql/my.cnf" to set global options,
|
# - "~/.my.cnf" to set user-specific options.
|
#
|
# One can use all long options that the program supports.
|
# Run program with --help to get a list of available options and with
|
# --print-defaults to see which it would actually understand and use.
|
#
|
# For explanations see
|
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
|
|
# This will be passed to all mysql clients
|
# It has been reported that passwords should be enclosed with ticks/quotes
|
# escpecially if they contain "#" chars...
|
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
|
[client]
|
port = 3306
|
socket = /var/run/mysqld/mysqld.sock
|
|
# Here is entries for some specific programs
|
# The following values assume you have at least 32M ram
|
|
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
|
[mysqld_safe]
|
socket = /var/run/mysqld/mysqld.sock
|
nice = 0
|
|
[mysqld]
|
#
|
# * Basic Settings
|
#
|
sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
|
|
user = mysql
|
pid-file = /var/run/mysqld/mysqld.pid
|
socket = /var/run/mysqld/mysqld.sock
|
port = 3306
|
basedir = /usr
|
datadir = /var/lib/mysql
|
tmpdir = /tmp
|
lc_messages_dir = /usr/share/mysql
|
lc_messages = en_US
|
skip-external-locking
|
#
|
# Instead of skip-networking the default is now to listen only on
|
# localhost which is more compatible and is not less secure.
|
# bind-address = 127.0.0.1
|
#
|
# * Fine Tuning
|
#
|
thread_concurrency = 8
|
thread_cache_size = 128
|
|
|
performance_schema=on
|
skip-name-resolve
|
max_connections = 450
|
connect_timeout = 5
|
wait_timeout = 60
|
max_allowed_packet = 256M
|
thread_cache_size = 128
|
sort_buffer_size = 4M
|
bulk_insert_buffer_size = 16M
|
tmp_table_size = 32M
|
max_heap_table_size = 32M
|
key_buffer_size = 64K
|
#
|
# * MyISAM
|
#
|
# This replaces the startup script and checks MyISAM tables if needed
|
# the first time they are touched. On error, make copy and try a repair.
|
myisam_recover_options = BACKUP
|
# open-files-limit = 2000
|
table_open_cache = 2048
|
concurrent_insert = 2
|
#
|
# * Query Cache Configuration
|
#
|
# Cache only tiny result sets, so we can fit more in the query cache.
|
query_cache_limit = 128K
|
query_cache_size = 0
|
query_cache_type = 0
|
# for more write intensive setups, set to DEMAND or OFF
|
#
|
# * Logging and Replication
|
#
|
# Both location gets rotated by the cronjob.
|
# Be aware that this log type is a performance killer.
|
# As of 5.1 you can enable the log at runtime!
|
# general_log_file = /var/log/mysql/mysql.log
|
# general_log = 1
|
#
|
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
|
#
|
# we do want to know about network errors and such
|
log_warnings = 2
|
#
|
# Enable the slow query log to see queries with especially long duration
|
#slow_query_log[={0|1}]
|
slow_query_log_file = /var/log/mysql/mariadb-slow.log
|
long_query_time = 2
|
# log_slow_rate_limit = 1000
|
log_slow_verbosity = query_plan
|
log_slow_admin_statements=ON
|
log_queries_not_using_indexes=OFF
|
log_throttle_queries_not_using_indexes=1
|
#
|
# The following can be used as easy to replay backup logs or for replication.
|
# note: if you are setting up a replication slave, see README.Debian about
|
# other settings you may need to change.
|
# server-id = 1
|
# report_host = master1
|
# auto_increment_increment = 2
|
# auto_increment_offset = 1
|
# log_bin = /var/log/mysql/mariadb-bin
|
# log_bin_index = /var/log/mysql/mariadb-bin.index
|
# not fab for performance, but safer
|
# sync_binlog = 1
|
# slaves
|
# relay_log = /var/log/mysql/relay-bin
|
# relay_log_index = /var/log/mysql/relay-bin.index
|
# relay_log_info_file = /var/log/mysql/relay-bin.info
|
#log_slave_updates
|
#read_only
|
#
|
# If applications support it, this stricter sql_mode prevents some
|
# mistakes like inserting invalid dates etc.
|
# sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL
|
#
|
# * InnoDB
|
#
|
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
|
# Read the manual for more InnoDB related options. There are many!
|
default_storage_engine = InnoDB
|
# you can't just change log file size, requires special procedure
|
# innodb_log_file_size = 50M
|
innodb_buffer_pool_size = 8G
|
innodb_log_buffer_size = 8M
|
innodb_file_per_table = 1
|
innodb_io_capacity = 400
|
innodb_flush_method = O_DIRECT
|
|
|
|
# InnoDB
|
default-storage-engine = 'InnoDB'
|
innodb-stats-on-metadata = 0
|
innodb-stats-sample-pages = 32
|
table-definition-cache = 2048
|
table-open-cache = 2048
|
# transaction-isolation = READ-COMMITTED
|
# # To be set to 0 if not multi transactional storage engine
|
innodb-buffer-pool-instances = 8
|
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
|
#
|
# # -- Set the following to maximum 60/70% of physical RAM.
|
# # innodb_max_dirty_pages_pct should be compute with redo log size in mind: It’s recommended to set the dirty pages smaller than redo log space. The more you have dirty page, the less io will be produced on disk.
|
innodb-max-dirty-pages-pct = 50
|
innodb-file-per-table = 1
|
innodb-flush-log-at-trx-commit = 1
|
# #Save and restore buffer pool to be transparent for user
|
# # innodb_flush_method = O_DIRECT
|
innodb_log_file_size = 1G
|
innodb_flush_log_at_trx_commit = 2
|
innodb_lock_wait_timeout = 50
|
innodb-log-buffer-size = 64M
|
innodb-log-files-in-group = 2
|
# innodb-log-file-size = 1024M
|
# innodb_purge_threads = 1
|
# -- Raid1: 200. Raid10: 200 x write arrays. SSD: 5000. FusionIO: 20000.
|
# innodb_io_capacity = 200
|
# -- SSD & FusionIO can flush pages in random disk order, keep default for spinning disks
|
# innodb_flush_neighbors = 0
|
# -- Increase these numbers to increase global throughput on SAN (16,32,64)
|
innodb-read-io-threads = 8
|
innodb-write-io-threads = 8
|
# -- Set this to 2-4 times # of Cpus, maximum recommended is 64.
|
# -- iostat report io service time: io_capacity / service_time is a good starting point for innodb_write_io_threads
|
# -- innodb_read_io_threads starting point monitoring status # read ahead per second
|
innodb-thread-concurrency = 8
|
#
|
innodb-open-files = 2048
|
#
|
|
|
#
|
# * Security Features
|
#
|
# Read the manual, too, if you want chroot!
|
# chroot = /var/lib/mysql/
|
#
|
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
|
#
|
# ssl-ca = /etc/mysql/cacert.pem
|
# ssl-cert = /etc/mysql/server-cert.pem
|
# ssl-key = /etc/mysql/server-key.pem
|
|
#
|
# * Galera-related settings
|
#
|
|
log_error=/var/log/mysql/mariadb-error.log
|
[galera]
|
# Mandatory settings
|
# wsrep_on = ON
|
#wsrep_provider=
|
#wsrep_cluster_address=
|
# binlog_format = row
|
# default_storage_engine = InnoDB
|
# innodb_autoinc_lock_mode = 2
|
#
|
# Allow server to accept connections on all interfaces.
|
#
|
# bind-address = 0.0.0.0
|
binlog_format=ROW
|
|
expire-logs-days = 7
|
max-binlog-size = 1024M
|
sync-binlog = 1
|
binlog-stmt-cache-size = 128K
|
binlog-cache-size = 256K
|
|
|
|
|
default-storage-engine=innodb
|
innodb_autoinc_lock_mode=2
|
wsrep_on=ON
|
wsrep_cluster_name='mariadb_cluster'
|
wsrep_node_name=node4
|
wsrep_node_address=10.253.253.93
|
wsrep_provider = /usr/lib/galera/libgalera_smm.so
|
# wsrep_provider_options = ""
|
wsrep_retry_autocommit = 0
|
# # wsrep_sst_method = rsync
|
wsrep_sst_method = mariabackup
|
wsrep_sst_auth = root:extra27frz
|
wsrep_slave_threads=16
|
wsrep_certify_nonPK=1
|
wsrep_max_ws_rows=0
|
wsrep_max_ws_size=1073741824
|
wsrep_debug=0
|
wsrep_log_conflicts = 1
|
wsrep_provider_options="gcache.size = 1G; gcache.name = /var/lib/mysql/galera.cache"
|
wsrep_cluster_address=gcomm://10.253.253.93,10.253.253.94,10.253.253.95
|
# wsrep_cluster_address = gcomm://
|
wsrep_forced_binlog_format=ROW
|
enforce_storage_engine = "InnoDB"
|
#
|
server-id = 4
|
#
|
|
|
|
|
[mysqldump]
|
quick
|
quote-names
|
max_allowed_packet = 16M
|
|
[mysql]
|
#no-auto-rehash # faster start of mysql but no tab completion
|
|
[isamchk]
|
key_buffer = 16M
|
|
#
|
# * IMPORTANT: Additional settings that can override those from this file!
|
# The files must end with '.cnf', otherwise they'll be ignored.
|
#
|
!include /etc/mysql/mariadb.cnf
|
!includedir /etc/mysql/conf.d/
|
!include /etc/mysql/secrets-backup.cnf
|
|
[xtrabackup]
|
databases-exclude=lost+found
|
ssl=0
|
Attachments
Issue Links
- relates to
-
MDEV-20698 Master slowly running out of memory and gets killed by oom-killer
-
- Open
-
-
MDEV-21447 Uncontrollable memory allocation with TRIGGERS, PROCEDURES and FUNCTIONS
-
- Stalled
-
Activity
Field | Original Value | New Value |
---|---|---|
Description |
Hello,
Since 1 month i have a big problem on my servers, the memory decreases slowly but never be released . Fortunatly , a reboot occurs every week when server start to swap ... I started when ui upgrade my mariadb galera cluster (debian 8 / mariadb 10.2 ) (3 servers) on debian 9 / mariadb 10.3.12 . I upgraded the os and mariadb (now 10.3.14) without result . The more significative example is when i have the automysqlbackup script at 5h00 am ( mysqldump ) it uses several go of memory never released ( graph zabbix ) first capture shows backup at 5h00 AM and severe memory leak (server 1 ) second capture shows ( reboot at 13/04 3h00 am and memory decrease slowly , no backup on this server (mariadb 2 ) i'm not sure at 100% is a mariadb problem but the mysqldump seem the most significant example so .... Here my my.cnf # MariaDB database server configuration file. # # You can copy this file to one of: # - "/etc/mysql/my.cnf" to set global options, # - "~/.my.cnf" to set user-specific options. # # One can use all long options that the program supports. # Run program with --help to get a list of available options and with # --print-defaults to see which it would actually understand and use. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html # This will be passed to all mysql clients # It has been reported that passwords should be enclosed with ticks/quotes # escpecially if they contain "#" chars... # Remember to edit /etc/mysql/debian.cnf when changing the socket location. [client] port = 3306 socket = /var/run/mysqld/mysqld.sock # Here is entries for some specific programs # The following values assume you have at least 32M ram # This was formally known as [safe_mysqld]. Both versions are currently parsed. [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] # # * Basic Settings # sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc_messages_dir = /usr/share/mysql lc_messages = en_US skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. # bind-address = 127.0.0.1 # # * Fine Tuning # thread_concurrency = 8 thread_cache_size = 128 performance_schema=on skip-name-resolve max_connections = 450 connect_timeout = 5 wait_timeout = 60 max_allowed_packet = 256M thread_cache_size = 128 sort_buffer_size = 4M bulk_insert_buffer_size = 16M tmp_table_size = 32M max_heap_table_size = 32M key_buffer_size = 64K # # * MyISAM # # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched. On error, make copy and try a repair. myisam_recover_options = BACKUP # open-files-limit = 2000 table_open_cache = 2048 concurrent_insert = 2 # # * Query Cache Configuration # # Cache only tiny result sets, so we can fit more in the query cache. query_cache_limit = 128K query_cache_size = 0 query_cache_type = 0 # for more write intensive setups, set to DEMAND or OFF # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. # As of 5.1 you can enable the log at runtime! # general_log_file = /var/log/mysql/mysql.log # general_log = 1 # # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. # # we do want to know about network errors and such log_warnings = 2 # # Enable the slow query log to see queries with especially long duration #slow_query_log[={0|1}] slow_query_log_file = /var/log/mysql/mariadb-slow.log long_query_time = 2 # log_slow_rate_limit = 1000 log_slow_verbosity = query_plan log_slow_admin_statements=ON log_queries_not_using_indexes=OFF log_throttle_queries_not_using_indexes=1 # # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave, see README.Debian about # other settings you may need to change. # server-id = 1 # report_host = master1 # auto_increment_increment = 2 # auto_increment_offset = 1 # log_bin = /var/log/mysql/mariadb-bin # log_bin_index = /var/log/mysql/mariadb-bin.index # not fab for performance, but safer # sync_binlog = 1 # slaves # relay_log = /var/log/mysql/relay-bin # relay_log_index = /var/log/mysql/relay-bin.index # relay_log_info_file = /var/log/mysql/relay-bin.info #log_slave_updates #read_only # # If applications support it, this stricter sql_mode prevents some # mistakes like inserting invalid dates etc. # sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL # # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! default_storage_engine = InnoDB # you can't just change log file size, requires special procedure # innodb_log_file_size = 50M innodb_buffer_pool_size = 8G innodb_log_buffer_size = 8M innodb_file_per_table = 1 innodb_io_capacity = 400 innodb_flush_method = O_DIRECT # InnoDB default-storage-engine = 'InnoDB' innodb-stats-on-metadata = 0 innodb-stats-sample-pages = 32 table-definition-cache = 2048 table-open-cache = 2048 # transaction-isolation = READ-COMMITTED # # To be set to 0 if not multi transactional storage engine innodb-buffer-pool-instances = 8 innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend # # # -- Set the following to maximum 60/70% of physical RAM. # # innodb_max_dirty_pages_pct should be compute with redo log size in mind: It’s recommended to set the dirty pages smaller than redo log space. The more you have dirty page, the less io will be produced on disk. innodb-max-dirty-pages-pct = 50 innodb-file-per-table = 1 innodb-flush-log-at-trx-commit = 1 # #Save and restore buffer pool to be transparent for user # # innodb_flush_method = O_DIRECT innodb_log_file_size = 1G innodb_flush_log_at_trx_commit = 2 innodb_lock_wait_timeout = 50 innodb-log-buffer-size = 64M innodb-log-files-in-group = 2 # innodb-log-file-size = 1024M # innodb_purge_threads = 1 # -- Raid1: 200. Raid10: 200 x write arrays. SSD: 5000. FusionIO: 20000. # innodb_io_capacity = 200 # -- SSD & FusionIO can flush pages in random disk order, keep default for spinning disks # innodb_flush_neighbors = 0 # -- Increase these numbers to increase global throughput on SAN (16,32,64) innodb-read-io-threads = 8 innodb-write-io-threads = 8 # -- Set this to 2-4 times # of Cpus, maximum recommended is 64. # -- iostat report io service time: io_capacity / service_time is a good starting point for innodb_write_io_threads # -- innodb_read_io_threads starting point monitoring status # read ahead per second innodb-thread-concurrency = 8 # innodb-open-files = 2048 # # # * Security Features # # Read the manual, too, if you want chroot! # chroot = /var/lib/mysql/ # # For generating SSL certificates I recommend the OpenSSL GUI "tinyca". # # ssl-ca = /etc/mysql/cacert.pem # ssl-cert = /etc/mysql/server-cert.pem # ssl-key = /etc/mysql/server-key.pem # # * Galera-related settings # log_error=/var/log/mysql/mariadb-error.log [galera] # Mandatory settings # wsrep_on = ON #wsrep_provider= #wsrep_cluster_address= # binlog_format = row # default_storage_engine = InnoDB # innodb_autoinc_lock_mode = 2 # # Allow server to accept connections on all interfaces. # # bind-address = 0.0.0.0 binlog_format=ROW expire-logs-days = 7 max-binlog-size = 1024M sync-binlog = 1 binlog-stmt-cache-size = 128K binlog-cache-size = 256K default-storage-engine=innodb innodb_autoinc_lock_mode=2 wsrep_on=ON wsrep_cluster_name='mariadb_cluster' wsrep_node_name=node4 wsrep_node_address=10.253.253.93 wsrep_provider = /usr/lib/galera/libgalera_smm.so # wsrep_provider_options = "" wsrep_retry_autocommit = 0 # # wsrep_sst_method = rsync wsrep_sst_method = mariabackup wsrep_sst_auth = root:extra27frz wsrep_slave_threads=16 wsrep_certify_nonPK=1 wsrep_max_ws_rows=0 wsrep_max_ws_size=1073741824 wsrep_debug=0 wsrep_log_conflicts = 1 wsrep_provider_options="gcache.size = 1G; gcache.name = /var/lib/mysql/galera.cache" wsrep_cluster_address=gcomm://10.253.253.93,10.253.253.94,10.253.253.95 # wsrep_cluster_address = gcomm:// wsrep_forced_binlog_format=ROW enforce_storage_engine = "InnoDB" # server-id = 4 # [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] #no-auto-rehash # faster start of mysql but no tab completion [isamchk] key_buffer = 16M # # * IMPORTANT: Additional settings that can override those from this file! # The files must end with '.cnf', otherwise they'll be ignored. # !include /etc/mysql/mariadb.cnf !includedir /etc/mysql/conf.d/ !include /etc/mysql/secrets-backup.cnf [xtrabackup] databases-exclude=lost+found ssl=0 |
Hello,
Since 1 month i have a big problem on my servers, the memory decreases slowly but never be released . Fortunatly , a reboot occurs every week when server start to swap ... I started when ui upgrade my mariadb galera cluster (debian 8 / mariadb 10.2 ) (3 servers) on debian 9 / mariadb 10.3.12 . I upgraded the os and mariadb (now 10.3.14) without result . The more significative example is when i have the automysqlbackup script at 5h00 am ( mysqldump ) it uses several go of memory never released ( graph zabbix ) first capture shows backup at 5h00 AM and severe memory leak (server 1 ) second capture shows ( reboot at 13/04 3h00 am and memory decrease slowly , no backup on this server (mariadb 2 ) i'm not sure at 100% is a mariadb problem but the mysqldump seem the most significant example so .... Here my my.cnf {noformat} # MariaDB database server configuration file. # # You can copy this file to one of: # - "/etc/mysql/my.cnf" to set global options, # - "~/.my.cnf" to set user-specific options. # # One can use all long options that the program supports. # Run program with --help to get a list of available options and with # --print-defaults to see which it would actually understand and use. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html # This will be passed to all mysql clients # It has been reported that passwords should be enclosed with ticks/quotes # escpecially if they contain "#" chars... # Remember to edit /etc/mysql/debian.cnf when changing the socket location. [client] port = 3306 socket = /var/run/mysqld/mysqld.sock # Here is entries for some specific programs # The following values assume you have at least 32M ram # This was formally known as [safe_mysqld]. Both versions are currently parsed. [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] # # * Basic Settings # sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc_messages_dir = /usr/share/mysql lc_messages = en_US skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. # bind-address = 127.0.0.1 # # * Fine Tuning # thread_concurrency = 8 thread_cache_size = 128 performance_schema=on skip-name-resolve max_connections = 450 connect_timeout = 5 wait_timeout = 60 max_allowed_packet = 256M thread_cache_size = 128 sort_buffer_size = 4M bulk_insert_buffer_size = 16M tmp_table_size = 32M max_heap_table_size = 32M key_buffer_size = 64K # # * MyISAM # # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched. On error, make copy and try a repair. myisam_recover_options = BACKUP # open-files-limit = 2000 table_open_cache = 2048 concurrent_insert = 2 # # * Query Cache Configuration # # Cache only tiny result sets, so we can fit more in the query cache. query_cache_limit = 128K query_cache_size = 0 query_cache_type = 0 # for more write intensive setups, set to DEMAND or OFF # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. # As of 5.1 you can enable the log at runtime! # general_log_file = /var/log/mysql/mysql.log # general_log = 1 # # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. # # we do want to know about network errors and such log_warnings = 2 # # Enable the slow query log to see queries with especially long duration #slow_query_log[={0|1}] slow_query_log_file = /var/log/mysql/mariadb-slow.log long_query_time = 2 # log_slow_rate_limit = 1000 log_slow_verbosity = query_plan log_slow_admin_statements=ON log_queries_not_using_indexes=OFF log_throttle_queries_not_using_indexes=1 # # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave, see README.Debian about # other settings you may need to change. # server-id = 1 # report_host = master1 # auto_increment_increment = 2 # auto_increment_offset = 1 # log_bin = /var/log/mysql/mariadb-bin # log_bin_index = /var/log/mysql/mariadb-bin.index # not fab for performance, but safer # sync_binlog = 1 # slaves # relay_log = /var/log/mysql/relay-bin # relay_log_index = /var/log/mysql/relay-bin.index # relay_log_info_file = /var/log/mysql/relay-bin.info #log_slave_updates #read_only # # If applications support it, this stricter sql_mode prevents some # mistakes like inserting invalid dates etc. # sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL # # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! default_storage_engine = InnoDB # you can't just change log file size, requires special procedure # innodb_log_file_size = 50M innodb_buffer_pool_size = 8G innodb_log_buffer_size = 8M innodb_file_per_table = 1 innodb_io_capacity = 400 innodb_flush_method = O_DIRECT # InnoDB default-storage-engine = 'InnoDB' innodb-stats-on-metadata = 0 innodb-stats-sample-pages = 32 table-definition-cache = 2048 table-open-cache = 2048 # transaction-isolation = READ-COMMITTED # # To be set to 0 if not multi transactional storage engine innodb-buffer-pool-instances = 8 innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend # # # -- Set the following to maximum 60/70% of physical RAM. # # innodb_max_dirty_pages_pct should be compute with redo log size in mind: It’s recommended to set the dirty pages smaller than redo log space. The more you have dirty page, the less io will be produced on disk. innodb-max-dirty-pages-pct = 50 innodb-file-per-table = 1 innodb-flush-log-at-trx-commit = 1 # #Save and restore buffer pool to be transparent for user # # innodb_flush_method = O_DIRECT innodb_log_file_size = 1G innodb_flush_log_at_trx_commit = 2 innodb_lock_wait_timeout = 50 innodb-log-buffer-size = 64M innodb-log-files-in-group = 2 # innodb-log-file-size = 1024M # innodb_purge_threads = 1 # -- Raid1: 200. Raid10: 200 x write arrays. SSD: 5000. FusionIO: 20000. # innodb_io_capacity = 200 # -- SSD & FusionIO can flush pages in random disk order, keep default for spinning disks # innodb_flush_neighbors = 0 # -- Increase these numbers to increase global throughput on SAN (16,32,64) innodb-read-io-threads = 8 innodb-write-io-threads = 8 # -- Set this to 2-4 times # of Cpus, maximum recommended is 64. # -- iostat report io service time: io_capacity / service_time is a good starting point for innodb_write_io_threads # -- innodb_read_io_threads starting point monitoring status # read ahead per second innodb-thread-concurrency = 8 # innodb-open-files = 2048 # # # * Security Features # # Read the manual, too, if you want chroot! # chroot = /var/lib/mysql/ # # For generating SSL certificates I recommend the OpenSSL GUI "tinyca". # # ssl-ca = /etc/mysql/cacert.pem # ssl-cert = /etc/mysql/server-cert.pem # ssl-key = /etc/mysql/server-key.pem # # * Galera-related settings # log_error=/var/log/mysql/mariadb-error.log [galera] # Mandatory settings # wsrep_on = ON #wsrep_provider= #wsrep_cluster_address= # binlog_format = row # default_storage_engine = InnoDB # innodb_autoinc_lock_mode = 2 # # Allow server to accept connections on all interfaces. # # bind-address = 0.0.0.0 binlog_format=ROW expire-logs-days = 7 max-binlog-size = 1024M sync-binlog = 1 binlog-stmt-cache-size = 128K binlog-cache-size = 256K default-storage-engine=innodb innodb_autoinc_lock_mode=2 wsrep_on=ON wsrep_cluster_name='mariadb_cluster' wsrep_node_name=node4 wsrep_node_address=10.253.253.93 wsrep_provider = /usr/lib/galera/libgalera_smm.so # wsrep_provider_options = "" wsrep_retry_autocommit = 0 # # wsrep_sst_method = rsync wsrep_sst_method = mariabackup wsrep_sst_auth = root:extra27frz wsrep_slave_threads=16 wsrep_certify_nonPK=1 wsrep_max_ws_rows=0 wsrep_max_ws_size=1073741824 wsrep_debug=0 wsrep_log_conflicts = 1 wsrep_provider_options="gcache.size = 1G; gcache.name = /var/lib/mysql/galera.cache" wsrep_cluster_address=gcomm://10.253.253.93,10.253.253.94,10.253.253.95 # wsrep_cluster_address = gcomm:// wsrep_forced_binlog_format=ROW enforce_storage_engine = "InnoDB" # server-id = 4 # [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] #no-auto-rehash # faster start of mysql but no tab completion [isamchk] key_buffer = 16M # # * IMPORTANT: Additional settings that can override those from this file! # The files must end with '.cnf', otherwise they'll be ignored. # !include /etc/mysql/mariadb.cnf !includedir /etc/mysql/conf.d/ !include /etc/mysql/secrets-backup.cnf [xtrabackup] databases-exclude=lost+found ssl=0 {noformat} |
Labels | need_feedback |
Attachment | leak-7d.png [ 48068 ] |
Affects Version/s | 10.2 [ 14601 ] |
Assignee | Eugene Kosov [ kevg ] |
Attachment | screenshot-1.png [ 48161 ] |
Attachment | m102-u16.png [ 48166 ] |
Labels | need_feedback |
Attachment | screenshot-2.png [ 48402 ] |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] |
Attachment | Screenshot 2019-08-30 at 10.22.55.png [ 48859 ] |
Attachment | mariadb_memleak.log [ 48911 ] |
Link | This issue relates to MDEV-20698 [ MDEV-20698 ] |
Link | This issue relates to MDEV-21447 [ MDEV-21447 ] |
Attachment | screenshot-3.png [ 57139 ] |
Attachment | reports-memory-leak.txt [ 58309 ] |
Summary | Memory leak issue | Memory leak issue in systemD on mariaDB cluster with remote ssh |
Labels | need_feedback |
Labels | need_feedback |
Component/s | OTHER [ 10125 ] | |
Fix Version/s | N/A [ 14700 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Resolution | Not a Bug [ 6 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 96214 ] | MariaDB v4 [ 156093 ] |