CentOSのメモリチューニング
最近開発用のVPS鯖がメモリ使い過ぎで激重になっていたのでチューニングしました。
その際の手順を残しておきます。
何が問題かを見極める
どのプロセスがどのくらいメモリを使っているのか確認します
ps alx --sort -rss
これでメモリ使用量の多い順にプロセスが表示されます。
RSSが使用メモリです(単位はKB)
それぞれの問題に対応
自分の場合は下記の2種類のプロセスを調整できそうだったので対応しました。
- pm2プロセス
- mysqldプロセス
それぞれの対応も詳しく書きます。
pm2プロセスの問題
pm2とはnode.jsをデーモン化するためのサービスなのですが、node.jsで何か作ってた覚えはあるけど今運用してない気がしたので下記のコマンドで何を動かしているか確認しました。
find / -name app.js
そしたら過去にWebSocketを使ったチャットサーバーを立ち上げて遊んでた残骸だとわかり、もう必要ないのでpm2を止めました。
pm2 stop all
これでpm2問題は解決。
mysqldプロセスの問題
ご存知MySQLですが、これがメモリ2GBのVPS鯖に対して約1.5GB使ってました。
「そういえばチューニングせずにデフォルト値のまま使ってたなー」と思いチューニングすることに。
これは書いてたら長くなったので別のエントリーとして書きました。
5分で出来るMySQLのお手軽チューニング - わーくあうと!
チューニングしてみて
これら2つの問題に対応してサクサクになりました。
めでたしめでたし