Падает сервер mysql - был бы благодарен за помощь

12 3
mcreper
На сайте с 02.03.2008
Offline
101
6635

Добрый день. Проблема началась месяц назад. Сначала mysql отваливался раз в неделю - просто перезапускал службу и все.

Сегодня после запуска работает максимум 5 мин.

mariadb.log

180325 11:06:51 mysqld_safe Number of processes running now: 0

180325 11:06:51 mysqld_safe mysqld restarted
180325 11:06:51 [Note] /usr/libexec/mysqld (mysqld 5.5.56-MariaDB) starting as process 9697 ...
180325 11:06:51 InnoDB: The InnoDB memory heap is disabled
180325 11:06:51 InnoDB: Mutexes and rw_locks use GCC atomic builtins
180325 11:06:51 InnoDB: Compressed tables use zlib 1.2.7
180325 11:06:51 InnoDB: Using Linux native AIO
180325 11:06:51 InnoDB: Initializing buffer pool, size = 200.0M
InnoDB: mmap(215252992 bytes) failed; errno 12
180325 11:06:51 InnoDB: Completed initialization of buffer pool
180325 11:06:51 InnoDB: Fatal error: cannot allocate memory for the buffer pool
180325 11:06:51 [ERROR] Plugin 'InnoDB' init function returned error.
180325 11:06:51 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
180325 11:06:51 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)
180325 11:06:51 [ERROR] mysqld: Out of memory (Needed 96681984 bytes)
180325 11:06:51 [ERROR] mysqld: Out of memory (Needed 72499200 bytes)
180325 11:06:51 [Note] Plugin 'FEEDBACK' is disabled.
180325 11:06:51 [ERROR] Unknown/unsupported storage engine: InnoDB
180325 11:06:51 [ERROR] Aborting
180325 11:06:51 [Note] /usr/libexec/mysqld: Shutdown complete
180325 11:06:51 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
180325 11:13:31 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
180325 11:13:31 [Note] /usr/libexec/mysqld (mysqld 5.5.56-MariaDB) starting as process 10411 ...
180325 11:13:31 InnoDB: The InnoDB memory heap is disabled
180325 11:13:31 InnoDB: Mutexes and rw_locks use GCC atomic builtins
180325 11:13:31 InnoDB: Compressed tables use zlib 1.2.7
180325 11:13:31 InnoDB: Using Linux native AIO
180325 11:13:32 InnoDB: Initializing buffer pool, size = 200.0M
180325 11:13:32 InnoDB: Completed initialization of buffer pool
180325 11:13:32 InnoDB: highest supported file format is Barracuda.
180325 11:13:32 InnoDB: Starting crash recovery from checkpoint LSN=18911314177
InnoDB: Restoring possible half-written data pages from the doublewrite buffer...
180325 11:13:32 InnoDB: Starting final batch to recover 44 pages from redo log
180325 11:13:32 InnoDB: Waiting for the background threads to start
180325 11:13:33 Percona XtraDB (http://www.percona.com) 5.5.52-MariaDB-38.3 started; log sequence number 18911399388
180325 11:13:33 [Note] Plugin 'FEEDBACK' is disabled.
180325 11:13:33 [Note] Server socket created on IP: '127.0.0.1'.
180325 11:13:33 [Note] Event Scheduler: Loaded 0 events
180325 11:13:33 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.56-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server
180325 11:13:35 [ERROR] mysqld: Table './mykolaiv/j25_k2_items' is marked as crashed and should be repaired
180325 11:13:35 [Warning] Checking table: './mykolaiv/j25_k2_items'
180325 11:24:05 mysqld_safe Number of processes running now: 0
180325 11:24:05 mysqld_safe mysqld restarted
180325 11:24:05 [Note] /usr/libexec/mysqld (mysqld 5.5.56-MariaDB) starting as process 6910 ...
180325 11:24:05 InnoDB: The InnoDB memory heap is disabled
180325 11:24:05 InnoDB: Mutexes and rw_locks use GCC atomic builtins
180325 11:24:05 InnoDB: Compressed tables use zlib 1.2.7
180325 11:24:05 InnoDB: Using Linux native AIO
180325 11:24:05 InnoDB: Initializing buffer pool, size = 200.0M
InnoDB: mmap(215252992 bytes) failed; errno 12
180325 11:24:05 InnoDB: Completed initialization of buffer pool
180325 11:24:05 InnoDB: Fatal error: cannot allocate memory for the buffer pool
180325 11:24:05 [ERROR] Plugin 'InnoDB' init function returned error.
180325 11:24:05 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
180325 11:24:05 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)
180325 11:24:05 [Note] Plugin 'FEEDBACK' is disabled.
180325 11:24:05 [ERROR] Unknown/unsupported storage engine: InnoDB
180325 11:24:05 [ERROR] Aborting
180325 11:24:05 [Note] /usr/libexec/mysqld: Shutdown complete
180325 11:24:05 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended

Если я правильно понимаю, проблема с памятью.

/etc/my.cnf

query_cache_size=256M

query_cache_limit=8M
join_buffer_size = 8M
tmp_table_size =256M
max_heap_table_size =128M
thread_cache_size=16
innodb_buffer_pool_size=200M
max_connections=30
max_allowed_packet=300M

Возможно, я что-то здесь перемудрил. Хотя до этого работало без проблем около года.

P.S. CentOS 7-amd64, 2048 Mb. Заранее благодарю за помощь.

M
На сайте с 17.09.2016
Offline
87
#1

Fatal error: cannot allocate memory for the buffer pool

[ERROR] mysqld: Out of memory (Needed 128917504 bytes)

180325 11:06:51 [ERROR] mysqld: Out of memory (Needed 96681984 bytes)

180325 11:06:51 [ERROR] mysqld: Out of memory (Needed 72499200 bytes)

Ему не хватает памяти для запуска innodb buffer pool

Это случайно не VDS ?

mcreper
На сайте с 02.03.2008
Offline
101
#2

Да, VDS.Пока поменял:

innodb_buffer_pool_size=500M

max_connections=20

mysqltuner

Performance Metrics -------------------------------------------------                                             

[--] Up for: 4m 14s (36K q [145.382 qps], 1K conn, TX: 119M, RX: 7M)
[--] Reads / Writes: 93% / 7%
[--] Binary logging is disabled
[--] Total buffers: 1.1G global + 10.7M per thread (20 max threads)
[OK] Maximum reached memory usage: 1.2G (65.75% of installed RAM)
[OK] Maximum possible memory usage: 1.3G (74.44% of installed RAM)
[OK] Slow queries: 0% (0/36K)
[OK] Highest usage of available connections: 25% (5/20)
[OK] Aborted connections: 0.10% (1/1023)
[OK] Query cache efficiency: 47.9% (27K cached / 56K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 286 sorts)
[!!] Joins performed without indexes: 9
[!!] Temporary tables created on disk: 98% (1K on disk / 1K total)
[OK] Thread cache hit rate: 99% (5 created / 1K connections)
[OK] Table cache hit rate: 110% (265 open / 239 opened)
[OK] Open file limit used: 1% (273/16K)
[OK] Table locks acquired immediately: 100% (5K immediate / 5K locks)

-------- MyISAM Metrics -----------------------------------------------------
[!!] Key buffer used: 18.4% (24M used / 134M cache)
[OK] Key buffer size / total MyISAM indexes: 128.0M/21.4M
[OK] Read Key buffer hit rate: 97.0% (5K cached / 172 reads)
[!!] Write Key buffer hit rate: 50.0% (6 cached / 3 writes)

-------- InnoDB Metrics -----------------------------------------------------
[--] InnoDB is enabled.
[OK] InnoDB buffer pool / data size: 500.0M/150.4M
[OK] InnoDB buffer pool instances: 1
[!!] InnoDB Used buffer: 6.38% (2040 used/ 31999 total)
[OK] InnoDB Read buffer efficiency: 99.15% (225893 hits/ 227840 total)
[!!] InnoDB Write buffer efficiency: 0.00% (0 hits/ 1 total)
[OK] InnoDB log waits: 0.00% (0 waits / 1683 writes)

-------- AriaDB Metrics -----------------------------------------------------
[--] AriaDB is disabled.

-------- Replication Metrics -------------------------------------------------
[--] No replication slave(s) for this server.
[--] This is a standalone server..

-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Enable the slow query log to troubleshoot bad queries
Adjust your join queries to always utilize indexes
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries which have no LIMIT clause
Variables to adjust:
join_buffer_size (> 8.0M, or always use indexes with joins)
tmp_table_size (> 256M)
max_heap_table_size (> 128M)
LEOnidUKG
На сайте с 25.11.2006
Offline
1551
#3

А какова посещаемость проекта?

Памяти сколько свободно при запуске?

Почему MariDB такая старая? Установите 10.1 возможно просто учтечка памяти.

✅ Трастовых площадок под размещение статей и ссылок. Опыт 12 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )
M
На сайте с 17.09.2016
Offline
87
#4

Было же меньше


Initializing buffer pool, size = 200.0M

500 M ещё быстрее уронит

[OK] Key buffer size / total MyISAM indexes: 128.0M/21.4M

Это можно урезать до 32 к примеру

[OK] InnoDB buffer pool / data size: 500.0M/150.4M

Innodb можно обратно 200 ставить

Ну и собственно не хватает данных сколько всего памяти

И если это VDS

OpenVZ ?

mcreper
На сайте с 02.03.2008
Offline
101
#5
LEOnidUKG:
А какова посещаемость проекта?
Памяти сколько свободно при запуске?
Почему MariDB такая старая? Установите 10.1 возможно просто учтечка памяти.

1 сайт на joomla. 200-300 человек в день.

Попробую обновить MariDB, если получится.

P
На сайте с 16.03.2009
Offline
144
#6

query_cache_size = 64M
query_cache_limit = 1M
join_buffer_size = 2M
tmp_table_size = 32M
max_heap_table_size = 32M
thread_cache_size=16
innodb_buffer_pool_size=192M
max_connections=50
max_allowed_packet=16M
mcreper
На сайте с 02.03.2008
Offline
101
#7
Mobiaaa:
Было же меньше

500 M ещё быстрее уронит
[OK] Key buffer size / total MyISAM indexes: 128.0M/21.4M
Это можно урезать до 32 к примеру
[OK] InnoDB buffer pool / data size: 500.0M/150.4M
Innodb можно обратно 200 ставить
Ну и собственно не хватает данных сколько всего памяти
И если это VDS
OpenVZ ?

KVM.

Количество процессов 133

Оперативная память (использовано / всего) 608 / 1839 MiB
Продолжительность работы 2 hours 30 minutes
Процессор 2 X QEMU Virtual CPU version 2.5+ 2599.998 MHz
Размер дискового пространства 14.62 GiB
Средняя загрузка (за 15 мин, 5 мин, 1 мин) 2.21 2.46 2.66
Файл подкачки (swap) 0 MiB
D
На сайте с 28.06.2008
Offline
977
#8

1. Сколько весит база сайта?

2. Все таблицы innodb?

3. Лог медленных запросов включен? (смотрите что-там, оптимизируйте)

200-300 юзеров - это просто смешно.

Я на 2-х ядрах и 2 гигах оперативки 70.000 в день держу (6 сайтов и тоже на Джумле)

DR
На сайте с 22.08.2013
Offline
61
#9

А попробуйте добавить:

table_definition_cache = 400

table_open_cache = 400

По умолчанию в новых версиях подняли до 2000 и эпизодически подтекала память.

Оказываем почасовую поддержку сайтам, сделанным на CMS Drupal (http://www.dru.io), пишем модули, верстаем. Создание сайтов от 800руб. (http://www.ra-don.ru) + Партнёрская программа от 25% (http://www.ra-don.ru/partners)
ffreest
На сайте с 22.08.2010
Offline
93
#10
Dram:
1. Сколько весит база сайта?
2. Все таблицы innodb?
3. Лог медленных запросов включен? (смотрите что-там, оптимизируйте)

200-300 юзеров - это просто смешно.

Я на 2-х ядрах и 2 гигах оперативки 70.000 в день держу (6 сайтов и тоже на Джумле)

Это вы засчет кеша держите, без кеша все бы давно упало.

Размести бесплатно объявление по продаже готового бизнеса по недвижимости твой адрес (https://tvoyadres.ru/nedvizhimost/biznesy/). Узнай реальную стоимость своей квартиры оценка квартиры онлайн (https://tvoyadres.ru/ocenka/kvartira/).
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий