Percona 5.6 использует большое количество памяти

Я не уверен, что стек — это правильное место, чтобы спросить об этом, но я недавно обновился до Percona 5.6 с 5.5, и использование моей памяти резко возросло!

Это из ПС:

mysql     4598  0.0 29.5 1583356 465312 ?      Sl   Oct17   9:07 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib6

Я нахожусь на выделенном VSS

У моего сервера только гиг оперативной памяти... как это только использование памяти составляет всего 30% в соответствии с PS?

У меня в конфигурации установлено меньше оперативной памяти, и когда я запускаю MySQLTuner, я получаю:

[OK] Maximum possible memory usage: 338.9M (22% of installed RAM)

Итак, как я использую почти 500 МБ физической памяти и более полутора гигабайт виртуальной?

Это ошибка в mySQL или что-то с моим сервером?


person Danielle    schedule 24.10.2013    source источник
comment
используя Pmap, я нашел виновников, происходит 2 огромных выделения памяти ANON, и я не знаю, почему 00007fb73b65c000 403088K rw--- [anon] 00007fb731c2a000 155748K rw--- [anon] в любом случае, чтобы выяснить, ПОЧЕМУ эта память выделено?   -  person Danielle    schedule 24.10.2013


Ответы (3)


обнаружил, что в mysql 5.6 performance_schema включена по умолчанию. Он был отключен по умолчанию до версии 5.5 и ранее. Он был включен по умолчанию с версии 5.6.6.

performance_schema=off в мой файл конфигурации устраняет проблему.

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

Это может повлиять и на другие дистрибутивы mysql 5.6.6.

person Danielle    schedule 04.12.2013
comment
Это относится к MySQL 5.6. См. здесь для MySQL 5.7 и выше: mysqlserverteam .com/ - person Morgan Tocker; 08.03.2016

У меня была эта проблема, и исправление нескольких (увеличенных) значений кеша в MySQL.ini решило проблему.

table_definition_cache — установить на 400

Из "http://bugs.mysql.com/bug.php?id=68287", где это обсуждается

Да, существуют пороговые значения, основанные на table_open_cache, table_definition_cache и max_connections, и превышение пороговых значений приводит к значительному увеличению используемой оперативной памяти. Пороги работают, сначала определяя, является ли размер сервера маленьким, средним или большим.

Маленький: все три равны или меньше значений по умолчанию (2000, 400, 151). Большой: любой из трех более чем в два раза превышает значение по умолчанию. Среда: другие.

Из памяти. мой был установлен на 2000+, и его удаление решило проблему.

person Robbie    schedule 04.12.2013

Что мне помогло в CentOS, так это изменение распределителя памяти:

yum install jemalloc-devel

и добавьте в my.cnf:

[mysqld_safe]

malloc-lib = /usr/lib64/libjemalloc.so.1
person Arkadiy Bolotov    schedule 16.02.2016