Hallo zusammen
nachdem ich eine Herausforderung mit unserem MariaDB Server habe schlage ich nun hier auf und suche um Rat.
Ich hab schon einige Speichersettings und Anpassungen durch und mit Google bzw. Foren-Beiträge bin ich leider nicht schlauer geworden.
Worum gehts:
Wir haben einen MariaDB Server am laufen der sich nach 2-3 Tagen Laufzeit 18GB RAM und mehr nimmt, obwohl wir das so gar nicht konfiguriert haben.
Irgendwann wird nach ein paar Tagen dann ein OOM-Killer von PHP-FPM ausgelöst, da dieser Prozess kein RAM mehr bekommt.
Leider schaffe ich es nicht, MariaDB auf unter 8GB RAM zu begrenzen.
Hätte hier jemand einen Tipp warum es bei uns aus dem Ruder läuft mit dem Speicher?
Beste Grüße
Ralph
Details zum Server:
- ISPConfig-Container+MariaDB (nur webhosting für vtiger Instanzen)
- Debian 9.13 stretch
- Mariadb: 10.2.41-MariaDB-10.2.41+maria~stretch
- 30GB RAM
folgende Config nutzen wir für den Server:
nachdem ich eine Herausforderung mit unserem MariaDB Server habe schlage ich nun hier auf und suche um Rat.
Ich hab schon einige Speichersettings und Anpassungen durch und mit Google bzw. Foren-Beiträge bin ich leider nicht schlauer geworden.
Worum gehts:
Wir haben einen MariaDB Server am laufen der sich nach 2-3 Tagen Laufzeit 18GB RAM und mehr nimmt, obwohl wir das so gar nicht konfiguriert haben.
Irgendwann wird nach ein paar Tagen dann ein OOM-Killer von PHP-FPM ausgelöst, da dieser Prozess kein RAM mehr bekommt.
Leider schaffe ich es nicht, MariaDB auf unter 8GB RAM zu begrenzen.
Hätte hier jemand einen Tipp warum es bei uns aus dem Ruder läuft mit dem Speicher?
Beste Grüße
Ralph
Details zum Server:
- ISPConfig-Container+MariaDB (nur webhosting für vtiger Instanzen)
- Debian 9.13 stretch
- Mariadb: 10.2.41-MariaDB-10.2.41+maria~stretch
- 30GB RAM
folgende Config nutzen wir für den Server:
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#
# this is read by the standalone daemon and embedded servers
[server]
# this is only for the mysqld standalone daemon
[mysqld]
#
# * Basic Settings
#
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
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
sql-mode="NO_ENGINE_SUBSTITUTION"
#
# * Fine Tuning
#
max_sp_recursion_depth = 100
optimizer_search_depth = 0
key_buffer_size = 16M
max_allowed_packet = 20M
thread_stack = 512K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam_recover_options = BACKUP
max_connections = 200
#
# * Query Cache Configuration
#
query_cache_type = OFF
query_cache_size = 0
#
# * 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 log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Enable the slow query log to see queries with especially long duration
#slow_query_log_file = /var/log/mysql/mariadb-slow.log
#long_query_time = 10
#log_slow_rate_limit = 1000
#log_slow_verbosity = query_plan
#log-queries-not-using-indexes
#
# 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
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#
# * 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!
innodb_buffer_pool_size=256M
# # Set the log file size to about 25% of the buffer pool size
innodb_log_file_size=64M
innodb_log_buffer_size=64M
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates you can use for example the GUI tool "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
#
# Accept only connections using the latest and most secure TLS protocol version.
# ..when MariaDB is compiled with OpenSSL:
# ssl-cipher=TLSv1.2
# ..when MariaDB is compiled with YaSSL (default in Debian):
# ssl=on
#
# * Character sets
#
# MySQL/MariaDB default is Latin1, but in Debian we rather default to the full
# utf8 4-byte character set. See also client.cnf
#
character-set-server = utf8
collation-server = utf8_general_ci
#
# * Unix socket authentication plugin is built-in since 10.0.22-6
#
# Needed so the root database user can authenticate without a password but
# only when running as the unix root user.
#
# Also available for other users if required.
# See https://mariadb.com/kb/en/unix_socket-authentication-plugin/
# this is only for embedded server
[embedded]
# This group is only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]
# This group is only read by MariaDB-10.1 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mariadb-10.1]