クラウド、レンタルサーバ、SEO、WPなどのレシピを!

サーバーレシピ

CentOS7 MySQL WordPress TIPS

MySQLのメモリは、どのくらい使われている???

投稿日:

ワードプレスなど、様々なアプリケーションで使われているデータベース、「MySQL」。
VPSやクラウドを選択した場合、サーバーの「メモリ」を選択することになります。

最近は、簡単に、スケールアップ(CPUやメモリをアップグレード)することが簡単にできるサービスが多くなりました。

メモリは、VPSのサーバー利用料金に直結します。
お金を出せば、潤沢なサーバーを用意できますが、適度に節約をしたいですね。

実際にどのくらい使われているのでしょうか・・・

OSのメモリ

CentOSのメモリは、どのくらいの余裕があるのでしょう。
「free」というコマンドを使います。

上記は、VPSの2Gの例です。
左上が、トータルメモリです。
その右側が、「used」ですので、使われているメモリです。
実際に空いているメモリ容量は、「141メガ」ほどになります。

MySQLが使っているメモリ

MySQLが使っているメモリを調べるには、「ps」コマンドを利用します。
「ps aux」と「aux」というオプションを使います。

左から、5列目の数字が、VSZ(仮想メモリ)で、その右側が、6列目のRSS(物理メモリ)で、実際に使われているメモリになります。

VSZは、仮想メモリであり、物理メモリよりも、大きなメモリを扱うことが出来ます。
MySQL起動時に、ある程度、大きな領域を確保します。

スワップ

物理メモリが足りなくなってきた場合、OSは、あるプロセスが使っていないメモリを、メモリを欲しがっているプロセスに割り当てます。

メモリを使われたプロセスが、眠りから覚めて、動き出すと、貸し出していたメモリを、戻して、自分のために使います。

このやりとりを、スワップといいます。

スワップが激しく起こると、OS自体が重くなり、処理能力の低下を招きます。

スワップが起こっているかどうかは、「vmstat」というコマンドを使います。

上記の「si」「so」のところです。
「スワップイン」「スワップアウト」の略です。

OSのメモリに対する、MySQLのメモリ割り当て

OS全体のメモリ利用率などを見るには、「htop」コマンドが便利です。

↑ 1.06Gぐらい使われています。

このサーバーは、現状では、メモリ不足はないと考えます。
ワードプレスのPV数が莫大になったりすると、メモリも少なくなるでしょう。
そう考えると、スケールアップできるVPSは、便利ですね。

MySQLが利用するメモリの容量を少なくする・・・

MySQL起動時は、最低限のメモリですが、時間の経過とともに、MySQLが使っているメモリが増加していきます。
無限に増加をするわけではなく、あるところで、落ち着くはずです。

意図的に、MySQLを再起動をしてみます。


VSZ 1.1G
RSS 176M
と、なっています。

再起動前の
VSZ 1.6G
RSS 387M
よりは、少ないメモリ容量で動いています。

↑「free」コマンドでも、少なくなった事がわかります。

↑「htop」コマンドも、同様に、少ないメモリで稼働をしています。

MySQLメモリの勘所・・・

MySQLのメモリ利用量は、時間の経過とともに、大きくなります。
「なんか遅い」と感じた場合、メモリが足りない可能性があります。
なぜ、足りなくなるのか・・・
・PVが多くなった
・あるプラグインがメモリ食い
・そもそも、メモリが少ないサーバー
など、いろいろあるかと思います。

まずは、現状把握から・・・

-CentOS7, MySQL, WordPress TIPS

Copyright© サーバーレシピ , 2019 All Rights Reserved.