LoginSignup
41
41

More than 5 years have passed since last update.

メモリ食い過ぎてたのは、mysqlの設定が原因だった

Posted at

ここまでの経緯

  • 仮想マシン上のWordPressが落ちるのはメモリが足りないからだ
  • httpdのプロセスが立ち上がりすぎてたので、極力増えないようにした
  • 今度はMySQLがメモリを食い過ぎてた。多分犯人はこいつだ

仮想マシンの環境

ハードウェアやミドルウェアについて、
この件に関係ありそうなもの

  • メモリ 1GByte(1024MByte)
  • Webサーバ Apache/2.2.15 (Unix)
  • MySQL 5.6.25

MySQL5.6系では、メモリ消費多すぎたので設定変更した。という
主旨の情報が多数。

table_definition_cache の設定を変更する

table_definition_cacheの設定変更だけで、以上なメモリ消費は治まった。

/etc/my.cnf に以下の記述をする。

my.cnf
[mysqld]
table_definition_cache=400

そして再起動

# servise mysqld restart

メモリ消費状況

メモリ消費量は一気に減った。

設定直後
# free
             total       used       free     shared    buffers     cached
Mem:       1020288     246544     773744         92       4744      58528
-/+ buffers/cache:     183272     837016
Swap:      2064380      12996    2051384

しばらくブラウザアクセスしてから
# free
             total       used       free     shared    buffers     cached
Mem:       1020288     693968     326320         92       8180      70088
-/+ buffers/cache:     615700     404588
Swap:      2064380      12844    2051536

メモリ使用状況

ブラウザで何度かアクセスしたのちに、各プロセスを調べる。
MySQL による消費は減った。apacheでの消費は多いけど

mysqlによる消費
# ps aux | grep mysql
mysql     2304  0.1  9.4 782832 96536 pts/0
mysqlによる消費
# ps aux | grep mysql
root      2334  0.0  0.0 107456   940 pts/0    S+   14:21   0:00 grep mysql
Apacheのメモリ消費状況
# ps aux | grep httpd
root      1697  0.0  1.1 311536 11660 ?        Ss   13:14   0:00 /usr/sbin/httpd
apache    1699  0.0  3.1 334168 32488 ?        S    13:14   0:00 /usr/sbin/httpd
apache    1700  0.0  5.1 354824 52636 ?        S    13:14   0:00 /usr/sbin/httpd
apache    1701  0.0  5.1 354844 52660 ?        S    13:14   0:00 /usr/sbin/httpd
apache    1702  0.0  5.1 354824 52636 ?        S    13:14   0:00 /usr/sbin/httpd
apache    1703  0.0  5.8 371144 59416 ?        S    13:14   0:01 /usr/sbin/httpd
apache    2009  0.0  4.0 343816 41532 ?        S    13:15   0:00 /usr/sbin/httpd
apache    2012  0.0  5.1 354808 52604 ?        S    13:15   0:00 /usr/sbin/httpd
apache    2013  0.0  5.1 354808 52600 ?        S    13:15   0:00 /usr/sbin/httpd
apache    2014  0.0  5.1 354808 52600 ?        S    13:15   0:00 /usr/sbin/httpd
apache    2015  0.0  5.1 354808 52600 ?        S    13:15   0:00 /usr/sbin/httpd
root      2336  0.0  0.0 107456   940 pts/0    S+   14:29   0:00 grep httpd

参考

MySQLでtable_definition_cacheの値を変更する

41
41
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
41