[groonga-dev,04972] Re: Mroongaのalloc_countの増加について、cache_limitの恒久設定方法

Back to archive index
Mitsuo Yoshida y****@ceek*****
2022年 4月 22日 (金) 10:43:03 JST


須藤さん、堀本さん

吉田です、こんにちは。
ご対応いただきありがとうございます!!

環境の記載を漏らしてしまったのですが、今回の確認環境は以下でした。
Server version: 10.5.15-MariaDB-0+deb11u1 Debian 11
mroonga_version 12.02

ラッパーモードで同テーブル・同クエリで動かしている以下の環境でも、仮想メモリの増加は確認しました。
(alloc_countは確認できないのですが、多分同じ問題?)
Server version: 10.3.34-MariaDB-0+deb10u1 Debian 10
mroonga_version 12.02

muninを見てみると、確かに、1年前くらいからメモリ増加の問題が発生してました。。。
来週のリリースを適用して様子を見てみることにします!

--
Mitsuo Yoshida < y****@ceek***** >

2022年4月22日(金) 10:12 Sutou Kouhei <kou****@clear*****>:
>
> 須藤です。
>
> In <CAF1BLYEacMf8=q6kVhXBbXq2DKU1quEs503ik2pai1Z1_xyCEQ****@mail*****>
>   "[groonga-dev,04966] Re: Mroongaのalloc_countの増加について、cache_limitの恒久設定方法" on Tue, 19 Apr 2022 18:25:31 +0900,
>   Mitsuo Yoshida <y****@ceek*****> wrote:
>
> > alloc_count の増加については、どのようなものが正常でしょうか。
>
> 内部でmruby(アプリケーション組み込み用のRuby実装)を使って
> いる箇所があるのですが、そこの処理で増えた分についてはすぐに
> 減らなくても正常です。というのは、mrubyにはGCが組み込まれて
> いるためGCされるタイミングでまとめてalloc_countが減るからで
> す。なので、長い目で見て増加傾向になければ大丈夫です。
>
> mrubyを使っていない箇所で増えている場合は問題です。確保して
> メモリーを開放できていないのでメモリーリークです。
>
> > 私も、仮想メモリが増加し続け、クラッシュする問題に悩まされており、現状では日時の FLUSH TABLES でメモリを解放して回避しています。
>
> おぉ。。。
> そういう状況が発生したら詳細はおいおいでもよいのでとりあえず
> 共有してもらえると助かります。
>
> > 手元の環境で、実行してみたところ、以下の結果でした。
> > alloc_countが常に2または5増加しています。
>
> ありがとうございます!
> これは非常に助かります!
>
> > 実行2:
> > → 実行の度に alloc_count が必ず5増加
> >
> > SELECT
> >   COUNT(*)
> > FROM
> >   news_latest
> > WHERE MATCH(title,content) AGAINST('*D+ 次期衆院選' IN BOOLEAN MODE);
>
> このケースがMariaDB 10.5で再現したので直しました。
> (吉田さんもMariaDB 10.5を使っていますか?)
>
> たぶん、他のケースも同じ原因だと思います。
>
> Mroonga内にalloc_count4つ分開放もれがありました。
> (メモリーリークです。)
>
> Groonga内のmrubyの処理のところでalloc_countが1つ増えていまし
> たが、これはいずれGCで開放されるやつなので問題ないやつです。
> が、そもそも今回のケースではalloc_countが増えない実装にして
> おきました。
>
> いつから発生していたかなんですが、なんと、Mroonga 11.03から
> 発生していました。一年弱前です。。。
>
> 残念ながら設定での回避策はありません。
>
> 来週のリリースを待ってアップグレードするか
> https://github.com/mroonga/mroonga/actions/runs/2205159346
> のCIの成果物として再生されるパッケージでアップグレードするか、
> 定期的に再起動あるいはFLUSH TABLESするかが対策になります。
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> https://lists.osdn.me/mailman/listinfo/groonga-dev


groonga-dev メーリングリストの案内
Back to archive index