[groonga-dev,01787] Re: mroongaのメモリーリーク(の疑い)について

Back to archive index

Kouhei Sutou kou****@clear*****
2013年 9月 18日 (水) 18:24:50 JST


須藤です。

In <52394****@rozet*****>
  "[groonga-dev,01785] Re: mroongaのメモリーリーク(の疑い)について" on Wed, 18 Sep 2013 15:03:08 +0900,
  磯部 和広 <k-iso****@rozet*****> wrote:

> >手元で再現するなら、↓な感じでどのクエリーが問題かを絞り込ん
> >で、それからコードのどこらへんが問題かを絞り込んでいったりし
> >ます。
> 
> この状況が起きると、そのDBに繋いでいる全てのクライアントで
> 同じ状況になりますので、特定のクエリがその状況を起こすのではなく
> 単純にサーバーが一定時間にレスポンスを返さなくなります。

あ、「特定のクエリがmroongaのメモリリークを引き起こしてその
状況になっているのではないか?」と予想しているのかと思ってい
ました。すみません。

そうじゃないとすると、どこから調べていくのがいいかしら。。。

> ちなみに「レスポンス」は全文検索に対するもので
> DB一覧やプロセスリスト等の、非全文検索のレスポンスはちゃんと返ります。

MATCH AGAINSTを使っていないmroongaへのSELECTも返るということ
ですよね。とするとデータ領域はメモリに載っていて、インデック
ス領域だけ落ちちゃっているんですかねぇ。

> >  1. 「一定時間内に応答しない」ときのmysqldプロセスの
> >     VIRT/RES/SHRの値(topで確認したもので十分です。)
> >  2. /proc/${mysqldのPID}/mapsの中身(大きいです。)
>  
> 
> これは、多分再来週ぐらいにならないと起きません。
> その際には報告させていただきます。

ありがとうございます!

> ちなみに、今は下記状況です。
> 
> [root @ PMJ07 ~]# ps u -C mysqld
> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
> mysql 12795 312 29.2 20839544 9587684 ? Sl Sep16 7627:35
> /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql
> --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-erro
> [root @ PMJ07 ~]#
> 
> [groonga-dev,01780] 時点では
> 
> [root @ PMJ07 mroonga.data]# ps u -C mysqld
> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
> mysql 12795 203 16.2 16341952 5343332 ? Sl Sep16 2349:31
> /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql
> --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-erro
> [root @ PMJ07 mroonga.data]#
> 
> だったので、VSZとRSSが
> 
> 16341952 5343332
>> 20839544 9587684
> と増えていますね。
> 
> ああ、なるほど。
> 
> VSZの値を監視すれば良いのですね。

RSSの方が物理メモリ量を表しているので、どちらかというとRSSの
方が大事です。たぶん、仮想メモリ(VSZ)のほうじゃなくてRSSの
方が大きくなって重くなっているんだと思います。


MySQLが認識している使用中メモリの内訳がわかるSQLとかあれば、
それを監視していくとどこが増えていっているかがわかっていいん
ですけど。。。そんな都合のよいのってないですよねぇ。。。

もしあれば、ですが。。。

MySQLが使用中メモリが増えていっていると自分で言っていればそ
こが引き金になっていることがわかります。自分は使用中メモリが
増えていっていないと言っているのに、psで見たRSSが増えていっ
ていればmroongaが怪しそうといえます。


> mapsの中身は、どうしましょう。
> 大きすぎて、ちょっち・・・

そう、大きいんですよ。
どこかにアップロードしてもらえればいいんですが。。。


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)

groongaサポート:
  http://groonga.org/ja/support/
パッチ採用はじめました:
  http://www.clear-code.com/recruitment/
コミットへのコメントサービスはじめました:
  http://www.clear-code.com/services/commit-comment.html




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