mysql5.6 メモリ使用量を減らす。

mysql5.6でやたらメモリを使用するため、取り急ぎ対応した

事象

なぜかmysqlのプロセスが450MBのメモリを使用していた。
# ps alx | grep mysql | awk '{printf ("%d\t%s\n", $8,$13)}'
1400    /bin/sh
452404    /usr/local/mysql/bin/mysqld
916    grep

調査、検証

そのため、ちょいと調査。
下記にバグ?っぽいこと、あと対処方法が書いてあるので、実施。
http://bugs.mysql.com/bug.php?id=68980

設定変更対象は、mysqlパラメータの「table_definition_cache」
定義キャッシュに保存できるテーブル定義数。テーブル数が多い場合は増やす。
しかし、wordpressくらいしか運用していないので、減らしてみる。
mysql> show variables like 'table_definition_cache'; 
+------------------------+-------+ 
| Variable_name   | Value | 
+------------------------+-------+ 
| table_definition_cache | 1400  | 
+------------------------+-------+ 
 
# vi /etc/my.cnf
+ table_definition_cache=400 
 
mysql> show variables like 'table_definition_cache'; 
+------------------------+-------+ 
| Variable_name   | Value | 
+------------------------+-------+ 
| table_definition_cache |  400  | 
+------------------------+-------+ 
再起動
# /etc/init.d/mysqld restart
mysqld を停止中:                                           [  OK  ]
mysqld を起動中:                                           [  OK  ]

結果

メモリ量の確認。92MBまで減っていた。
# ps alx | grep mysql | awk '{printf ("%d\t%s\n", $8,$13)}'
1400    /bin/sh
92224    /usr/local/mysql/bin/mysqld
916    grep
無駄にキャッシュされていたのかな。
もう少し、チューニングが必要やな。
以上。

このブログの人気の投稿

RAC環境でimpdpをパラレルで実行するとき

ctrl+s 操作が不能に

TrustedInstaller.exe メモリリーク