2016-10-28 3 views
0

ファイルベースのキャッシュからMongoDBを使用して移行しています。私はオープンファイルの最大量に問題があります。あまりにも多くのファイルが開いているため、mongoデーモンはクラッシュし続けます。 /etc/sysctl.confの最大オープンファイルの制限を500,000に設定しました。私はulimit -n 500000と無制限を使用して最大オープンファイルを設定しました。私がulimit -n 50000を実行すると、更新されたことが示されます。 Image for setting limit to 500,000ununtuの最大オープンファイルは、リセットされ続けます

セッションを閉じると、デフォルトの1024に戻ります。Image here。そのセッションでmongoデーモンを起動しても、開いているファイルが500,000件あるとしても、1,000個のファイル制限でクラッシュします。

これを解決するにはどうすればよいですか?私はUbuntu 16.04とmongoを実行しています。3.3.0

+1

ハングします。あなたはmongoに何をしているのですか?それはそれが多くのファイルを開いているのですか? – duskwuff

+0

統計ウェブサイトのキャッシュです。データベースには1分に3000件のクエリがあります。私は私の最後にそれをキャッシュする必要があります。私は特定のもののためのトップ1,000を表示するシステムを構築しています。私はまだそれを得ることができないので、インデックスを設定していない。それは特定のプレーヤーのページのような小さい仕事のために働くが、すべてのために働く必要がある。 –

+0

あなたは_何か間違っています。多くの人がこの制限を超えずに大きなMongoDBインスタンスを実行します。 (そして50 qpsはそれほど高くはありません)あなたはたくさんのコレクションを作っていますか?データベースの容量はどれくらいですか? – duskwuff

答えて

0

あなたの新しいセッションでは、pam_limits PAMモジュールからのリソース制限confが得られないことがあります。 /etc/pam.d/suファイルを調べて、pam_limitsが存在するかどうか確認してください。

関連する問題