memcachedのスワップを抑制する(CentOS7)

シェアする

CentOS7にて、memcachedのスワップを抑制する方法があったので忘れないうちにメモ。
memcached専有のホストではなく、1台のVPSにmemcachedもWebサーバーも突っ込んでいるような場合に有用かもしれない(スワップを単に切るだけでは障害の原因になり得るため)。

この操作にはmemcachedの再起動を伴います。再起動を実施するとmemcached内に保存されたキャッシュデータはすべて消失します。ご注意ください。
広告



1. すべての領域を確保する

/etc/sysconfig/memcachedを編集し、-kオプションを付加する。

OPTIONS="-k"

こうすることで、memcachedが起動時に設定した容量分のメモリを確保する。

2. 確保した領域をロックする

確保した領域をロックするようにすることで、memcachedが乗ったページがスワップアウトされないようにする。
/usr/lib/systemd/system/memcached.serviceを編集し、次の行を追加する。

[Service]
LimitMEMLOCK=infinity

編集後はsystemctl daemon-reloadにより変更をsystemdに読み込ませ、systemctl restart memcachedによりmemcachedを再起動させる。

折角のインメモリキャッシュなのにディスクI/Oが生じてしまうと速度低下の原因となるため、今回はそれを抑制するための対策。

広告



シェアする

フォローする

広告