日頃使用しているCentOS7のsystemdにてメモリリークが発生していた。
最近、身の回りでもCentOS7系を使うサーバが増えてきましてCentOS6系では遭遇しなかった問題によく出くわします。
今回は、systemdのメモリリーク解消について紹介する方法で解消できたのでお伝えしようと思います。
正直、systemdのメモリリークがバグなのか仕様なのか筆者はまだわかっていませんが、設定で回避できるのであれば回避したいのが本音です。
それでは、実際に行った方法を紹介します。
対処方法
1 2 |
# systemctl daemon-reexec |
たったこれだけです。
このコマンドで何をやったかというと、systemdを再起動しました。
daemon-reexecの日本語訳マニュアルを見ると
systemd マネージャを再実行する。
これは、マネージャ状態をシリアライズして、プロセスを再実行し、状態を再度デシリアライズする。
このコマンドは、デバッグあるいは、パッケージアップグレード以外には、役に立たない。
重量級の daemon-reload として便利なときもある。
デーモンが再実行する間、ユーザー設定に従って systemd がリッスンするすべてのソケットはアクセス可能なままである。
と書いてあるので、既存サービスへの影響はないのかなと思います。
参考サイト
https://sites.google.com/site/kandamotohiro/systemd/man-systemctl-no-yi
http://serverfault.com/questions/755818/systemd-using-4gb-ram-after-18-days-of-uptime
https://github.com/systemd/systemd/issues/2187