2011-02-05 5 views
1

MongoDBをインストールしました。私は複製していません。私がオンにしたのは設定ファイルのauthだけでした。そして私はそれを適切に設定しました。MongoDBではどういう意味ですか?

ほとんどの場合動作しますが、無作為に「ハング」し、「トップ」を実行するとCPUがLOAD 4.0にジャンプします。

私はメッセージログを表示すると、私はこれの多くを参照してください。

[DataFileSync] flushing mmap took 0ms for 5 files 
[DataFileSync] flushing mmap took 0ms for 5 files 
[DataFileSync] flushing mmap took 0ms for 5 files 

それだけでハングアップし、何も起こりませんので、それは奇妙です。これらのメッセージは引き続き表示され、「受け入れられた接続」は表示されなくなります。私はレプリケーションを持っていないし、認証以外の設定でmongoを設定しなかった。

まあ、モンゴは一度クラッシュを行なったし、モンゴはまだ

答えて

0

...言っ

、MongoDBは、いくつかの操作が長いクエリのようなロックを(引き起こした場合、それはあなたのデータベース全体を「ハング」ですので、データベースレベルのロックを持っています大きなインデックスを作成するなど)

私はデータベースをシャットダウンし、repairを実行しました。

最初validateを実行することができます...それは何を見つけたかどうかを確認するために...

> db.mycollection.validate(); 

それはあなたが言及した汚れシャットダウンによって引き起こされるデータファイルにエラーがあるのか​​もしれません...それらのエラーでハングアップしています。

$ ./mongod --repair 

負荷があまり高くない場合は、修復「ライブ」を実行することもできます。

> db.repairDatabase(); 

また試してみて、anylise mongostatの結果を...

+0

私はこれらのすべてを行いましたが、 。 510 syslog 20 0 38272 5268 988 S 51.5 0.9 0:31.80 rsyslogd 1549 mongodb 20 0 910m 38m 36m R 46.9 6.5 1:06.52 mongod – TIMEX

2

のMongoDBは、メモリマップドファイルを使用していますrunninglしている間に、私は「sudoのリブート」を一度、やりました。データの変更がRAMからディスクにフラッシュされることがあります。これはあなたが見ている地図のフラッシュになります。

+0

しかし、なぜそれがぶら下がって、私のCPUは4.0にスパイクを引き起こしているだろうか?そして私が見るのは、これらのマップがログファイルに記録されていることだけです。これが起こったときにログファイルに何も表示されません – TIMEX

0

デフォルトでは、mongodbは60秒ごとにディスクへの変更をフラッシュします。それは、その時間中にハングアップすべきではありません。

あなたはどのバージョンのmongodbを使用していますか?同期はかなりノーマルに見えるだけでは0msを取ったこと

+0

私は使っています:MongoDBシェルのバージョン:1.6.5 – TIMEX

+0

また、rsyslogdはmongodと同様に99%にスパイクします – TIMEX

関連する問題