Naoya Murakami
visio****@gmail*****
2013年 8月 23日 (金) 16:08:47 JST
お世話になっております。村上です。 >Linuxですよね? >もしかしたら、 CentOS6.4です。 vm.overcommit_memory = 1 については、以前、教えていただいて、だいぶ前から設定しています。 が、大きなインデックスを構築するとやはりmysqldがクラッシュするのです。 大きなインデックスを構築する場合、以下の3つの設定をしています。 ・vm.overcommit_memory = 1 ・vm.max_map_count = 6553000 ・swapを増やす。 この設定をすれば、一応大きなインデックスでも構築できます。 swapのところがやや大変だなぁと思っていまして。 以上、よろしくお願いします。 2013年8月23日 15:47 Kouhei Sutou <kou****@clear*****>: > 須藤です。 > > In <CANM+Hhfqw9Q0PGdmzpSHzHkE8oKhO_0XE9u****@mail*****> > "[groonga-dev,01661] 仮想メモリサイズを超えるmroongaのインデックス構築について" on Thu, 22 Aug > 2013 15:59:20 +0900, > Naoya Murakami <visio****@gmail*****> wrote: > > > > > このとき、仮想メモリサイズを超えるインデックスを作ろうとすると、 > > mysqldがクラッシュします。 > > > > swapを大きくして、作成されるインデックスサイズよりも仮想メモリサイズを > > 大きくすることでmysqldがクラッシュすることを回避することができます。 > > > > しかしながら、事前にインデックスサイズを正確に見積もるのは難しく、 > > あらかじめ、swapを大きくするのを忘れると、データが破壊されて悲しい > > 思いをします。 > > > > 仮想メモリサイズを超える場合には、データディレクトリ上に一時ファイル > > を作る等の挙動にしていただくことは可能でしょうか? > > こうすると、びくびくswapをでかめにとる必要がなくなるので、 > > ご検討いただけるとうれしいです。 > > Linuxですよね? > もしかしたら、 > > % sudo /sbin/sysctl vm.overcommit_memory=1 > > を実行するとswapを大きくしなくてもいけるかもしれません。 > > 永続的に↑を設定する(OSを再起動しても有効なままにする)なら > /etc/sysctl.d/groonga.confとかいうファイルを作って(拡張子 > が.confならファイル名はなんでもOKです)、以下の内容にしてく > ださい。 > > vm.overcommit_memory = 1 > > > あぁ、これについて、ドキュメントに書いていなかったんです > ね。。。groonga起動時のメッセージには出していたんですが。。。 > > ざっくりいうと大きなサイズのmmapをしても実際に使わなければエ > ラーにならないようにする設定です。Redisとかもこの設定を推奨 > していたりします。 > > 詳細は、後でドキュメントに書いておきたいですね。。。 > > -- > 須藤 功平 <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 mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev >