LINUX.ORG.RU
решено ФорумAdmin

MariaDB нагружает все ядра

 , ,


1

2

MariaDB начала грузить все ядра на полную. load average обычно держится от 2 до 5 (2 ядра), иногда нагрузка падет на несколько минут. Пробовал останавливать nginx и php-fpm, но нагрузка так и не исчезла. Рестарт марии и системы проблему не решают. В show processlist повисших процессов нет. Судя по iotop, процесс mysqld постоянно что-то пишет на диск, бинарные логи отключены, в /var/lib/mysql/ в это время ничего не пишется.

my.cnf

[client]
port                            = 3306
socket                          = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket                          = /var/run/mysqld/mysqld.sock
nice                            = 0

[mysqld]
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
skip-name-resolve
performance_schema
bind-address                    = 127.0.0.1
max_connections                 = 100
connect_timeout                 = 5
wait_timeout                    = 600
max_allowed_packet              = 16M
thread_cache_size               = 64
key_buffer_size                 = 512M
join_buffer_size                = 4M
sort_buffer_size                = 4M
bulk_insert_buffer_size         = 16M
tmp_table_size                  = 512M
max_heap_table_size             = 512M
table_open_cache                = 4096
query_cache_limit               = 128K
query_cache_size                = 0
log_warnings                    = 2
slow_query_log_file             = /var/log/mysql/mariadb-slow.log
long_query_time                 = 10
log_slow_verbosity              = query_plan
default_storage_engine          = InnoDB
innodb_log_file_size            = 96M
innodb_buffer_pool_size         = 768M
innodb_log_buffer_size          = 8M
innodb_file_per_table           = 1
innodb_open_files               = 400
innodb_io_capacity              = 400
innodb_flush_method             = O_DIRECT
innodb_flush_log_at_trx_commit  = 0
innodb_buffer_pool_instances    = 1

[mysqldump]
quick
quote-names
max_allowed_packet              = 16M

[isamchk]
key_buffer                      = 16M

!includedir /etc/mysql/conf.d/

Debian 9.4 amd64
MariaDB 10.2.14

Куда копать?

★★★

Я правильно понял, он чем-то сильно занят, но у него нет подключений и запросов?

процесс mysqld постоянно что-то пишет на диск

iotop -bo успеет показать хотя бы место и название файлов

bass ★★★★★
()
Ответ на: комментарий от Infra_HDC
tcp LISTEN 0 70 127.0.0.1:3306

наружу порт мускуля закрыт

zevilz ★★★
() автор топика
Ответ на: комментарий от bass

Я правильно понял, он чем-то сильно занят, но у него нет подключений и запросов?

С момента, как начал жрать проц, подключений было от 1 до 8. Но там скорее всего от сайтов.

В процессах только это висит

MariaDB [(none)]> show processlist;
+-----+-------------+-----------+------+---------+------+--------------------------+------------------+----------+
| Id  | User        | Host      | db   | Command | Time | State                    | Info             | Progress |
+-----+-------------+-----------+------+---------+------+--------------------------+------------------+----------+
|   1 | system user |           | NULL | Daemon  | NULL | InnoDB purge worker      | NULL             |    0.000 |
|   3 | system user |           | NULL | Daemon  | NULL | InnoDB purge coordinator | NULL             |    0.000 |
|   2 | system user |           | NULL | Daemon  | NULL | InnoDB purge worker      | NULL             |    0.000 |
|   4 | system user |           | NULL | Daemon  | NULL | InnoDB purge worker      | NULL             |    0.000 |
|   5 | system user |           | NULL | Daemon  | NULL | InnoDB shutdown handler  | NULL             |    0.000 |
| 326 | root        | localhost | NULL | Query   |    0 | init                     | show processlist |    0.000 |
+-----+-------------+-----------+------+---------+------+--------------------------+------------------+----------+

iotop -bo успеет показать хотя бы место и название файлов

Там просто mysqld. Никаких путей не вижу.

zevilz ★★★
() автор топика
Ответ на: комментарий от zevilz

я бы для начала включил general_log и log_error

bass ★★★★★
()

а как %wa? С дисками проблем нет? smart что показывает?

lasthappy
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.