磯部 和広
k-iso****@rozet*****
2013年 5月 13日 (月) 23:09:41 JST
いつもお世話になっております。 ■概要■ rronga等、直接groongaとお話しする場合、下記のようにしてメモリが解放でき るようです。 http://sourceforge.jp/projects/groonga/lists/archive/dev/2011-December/000641.html mroongaを使う場合、どのようにしたらgroongaのメモリを解放できるのでしょうか。 ひょっとして、3.0.2で追加された ○ mroonga_commandのサポート(実験的) で可能だったりしますか? ■詳細■ [groonga-dev,01295] Re: mroongaの検索時エラーについて >SQL文の先頭に > flush tables; >を付与し > sysctl -w vm.overcommit_memory=1 >する事でエラーが出なくなりました。 エラーは出なくなりましたが、今度は 時々、酷い時には数十分、ping以外には全く反応しなくなる その際には、HDDのアクセスランプが点きっぱなしになる という状況になりました。 ネット経由ではなく、モニターとUSBキーボードでコンソールから キー入力しても反応しなくなります。 どうも、一心不乱に何かをしているようです。 何をしているのかは傍から全然判りませんが・・・ ※何もコマンドを打てないので バッチ処理で、検索語を次々変えながら 連続してmroonga検索を1日以上続けるとこのような状況になりやすいです。 ※1回の検索は数秒〜数十秒です。 DBマシンが無応答になると、当然その間の検索は止まりますが結果自体は取得 できます バージョン等は前回の報告と一緒で3.0.2のままです。 mroongaのDBとSWAPはSSD上にあります。 ※このマシンは物理マシンで、X220上の仮想マシンではありません。 RAMとSWAPはそれぞれ32GBあり、SWAPは28GBまで育つ事があります。 このマシンでは、mroonga以外動かしていません。 SQL文の末尾にも flush tables; を付与したのですが、状況は変わりません。 MySQLを再起動してみたのですが、やはり状況が変わりません。 どうも、mroongaがメモリを掴み、離さないようです。 MySQLの再起動後のメモリの状況は下記でした。 [root @ PMJ01 ~]# cat /proc/meminfo MemTotal: 32789460 kB MemFree: 250232 kB Buffers: 5728 kB Cached: 508080 kB SwapCached: 54988 kB Active: 29386488 kB Inactive: 2718980 kB Active(anon): 29371940 kB Inactive(anon): 2223620 kB Active(file): 14548 kB Inactive(file): 495360 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 33554424 kB SwapFree: 4671972 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 31543708 kB Mapped: 3996 kB Shmem: 3484 kB Slab: 64144 kB SReclaimable: 15316 kB SUnreclaim: 48828 kB KernelStack: 2432 kB PageTables: 128548 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 65688092 kB Committed_AS: 16203096 kB VmallocTotal: 34359738367 kB VmallocUsed: 607772 kB VmallocChunk: 34359124604 kB HardwareCorrupted: 0 kB AnonHugePages: 4886528 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 8192 kB DirectMap2M: 33462272 kB [root @ PMJ01 ~]# VmallocTotal: 34359738367 kB って物凄いですね・・・