Heavy memory use of MySQL

タテログの開発のために、Windows7 PC に MySQL 5.6.10 を入れているわけだが、そのサービスがやたらメモリを食う。500 ~ 600MB くらい常に確保している。このくらいのメモリはかなり微妙なラインだ。これが 1G に近づくと「やべえな! 即なんとかしたい!」という気分になるのだが、「まあこのくらいならいいかな…暇な時にやる気があればなんとかする…」ラインのぎりぎりの限界くらいだ。個人的に。

というわけで暇というわけでもないのだがやる気を出してなんとかしてみる。

このバージョンの my.ini は C:\ProgramData\MySQL\MySQL Server 5.6\my.ini というパスにある。これをいじって各項目のサイズを減らせばいいのだ。ちなみに古い MySQL だと大メモリ・中メモリ・少メモリ環境用の my.ini のテンプレートが用意されてたような気がするのだが、最近のはないようだ。

とりあえず my.ini 中のいろんなバッファサイズを単純に半分にしてみた。…変化なし。んん?

ぐぐってみると、こういうことらしい。つまり table_definition_cache=1400 なる行自体をコメントアウトする。そうすることで、ワーキングサイズは 20MB 程度、コミットサイズは 60MB 程度にまで縮小した。って桁が違う…。