メモリリーク直りました。(2018/04/11)
http://d.hatena.ne.jp/ohtorii/20180411
以下はメモリリークしていた当時の状況です。
はじめに
当方の家庭内LANでは、Raspberry Pi 3 Model B にCentOS7をインストールして運用しています。
運用しているとRaspberry Piの使用メモリが増えていくので原因を調べたところ、
irqbalanceというデーモンがメモリリークしていました。
メモリリークの状態
Raspberry Pi起動直後のメモリ状態(約58MBのメモリ消費)
$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 220 0.0 5.9 58280 56172 ? Ss 03:00 0:18 /usr/sbin/irqbalance --foreground
こちらは、一日経過後のメモリ状態(約452MBのメモリ消費)
$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 225 0.0 47.6 454380 452352 ? Ss Feb21 2:29 /usr/sbin/irqbalance --foreground
Raspberry Piはメモリが1GBなので約半分の領域がリークしたメモリという状況でした。
とりあえずメモリリークを調査してみる
運用中のirqbalanceが古すぎてバグ修正されていないかもしれないので、
手始めにバージョンを確認。
$ yum list|grep irqbalance irqbalance.armv7hl 2:1.0.7-1.el7.centos @centos-base_rbf
version 1.0.7ですね。
irqbalanceの更新履歴によると最新版は1.3.0です、更に1.0.7以降でメモリリークの修正が行なわれています。
https://github.com/Irqbalance/irqbalance/releasesirqbalance
バージョンが古いのが原因かも?
yumではirqbalanceの新バージョンが落ちてこないので、ソースコードからビルドするしか手が無いのかな?
回避策
irqbalanceを1時間毎に再起動(crontab)させて回避しています。
今後について
irqbalanceが yum で落ちてきたらまた記事にします。
注意
Unix系のOSは初心者なので派手に勘違いしていることがあります。
ご注意ください🙏