Ubuntu 18.04ステップバイステップ
これがすべて役立つことを願っていますが、かなり長いですが、(証明付きで)動作します
Ubuntu 18.04にMongoDbをインストールしているときに、このスレッドに出会いました。
https://posidev.com/blog/2009/06/04/set-ulimit-parameters-on-ubuntu/
あなたが見ることができるように、それはかなり古いですが、それは私のために動作します。
これが私がしたことです。
MongoDbの推奨設定(https://docs.mongodb.com/manual/reference/ulimit/#review-and-set-resource-limits)
- -f(ファイルサイズ):無制限
- -t(CPU時間):無制限
- -v(仮想メモリ):無制限[1]
- -l(メモリ内ロックサイズ):無制限
- -n(ファイルを開く):64000
- -m(メモリサイズ):無制限[1] [2]
- -u(プロセス/スレッド):64000
現在の制限を確認する
ubuntu @ isdb-stage:〜$ ulimit -a
コアファイルサイズ(ブロック、-c)0
データセグメントサイズ(kバイト、-d)無制限
スケジューリング優先度(-e)0
ファイルサイズ(ブロック、-f)無制限
保留中のシグナル(-i)7873
最大ロックメモリ(kbytes、-l)16384
最大メモリサイズ(kbytes、-m)無制限
ファイルを開く(-n)1024
パイプサイズ(512バイト、-p)8
POSIXメッセージキュー(バイト、-q)819200
リアルタイム優先度(-r)0
スタックサイズ(kbytes、-s)8192
CPU時間(秒、-t)無制限
最大ユーザープロセス(-u)7873
仮想メモリ(kbytes、-v)無制限
ファイルロック(-x)無制限
変更が必要なものをメモします
- ロックされたメモリサイズは、無制限に設定する必要があります。
- ファイルを開き、64000に設定する必要があります
- processes / threads *、64000に設定する必要があります
これらの制限を変更する方法について、ubuntuは何と言っていますか?
$ man limits.conf
名前
limits.conf-pam_limitsモジュールの構成ファイル
記述
pam_limits.soモジュールは、ulimit制限、nice優先度、同時ログインセッション数の制限をユーザーログインセッションに適用します。構成ファイルの構文のこの説明は、
/etc/security/limits.confファイルおよび* .confファイル
/etc/security/limits.dディレクトリ。
- /etc/security/limits.confファイルを編集して、かなり明確に見えます。わかりました。
ここにそのファイルの始まりがあり、もちろん指示が含まれていることを確認してください。これは善良な人々によって書かれたオープンソースであることを忘れないでください!:)
vi /etc/security/limits.conf
#/etc/security/limits.conf
#各行は、次の形式でユーザーの制限を説明します。
#
#どこ:
#は次のとおりです。
#-ユーザー名
(詳細を知りたい場合は、自分でファイルを見てください)
- 最後に変更を加えます。MongoDbはmongodbグループおよびユーザーとして実行されるため、ユーザーの制限のみを引き上げることをお勧めします。あちこちで「*」が使用されているのを見てきましたが、これはセキュリティ上のリスクです。サーバー上のあらゆる制限をこれらの制限に与え、サーバーを最大限に活用するために使用できます。したがって、mongodbユーザー専用に作成してください。
変更点は次のとおりです。-
mongodbソフトmemlock無制限
mongodbハードmemlock無制限
mongodb soft nofile 64000
mongodb hard nofile 64000
mongodbソフトnproc 64000
mongodb hard nproc 64000
最後に、最後に、man limits.confエントリでこれを覚えておいてください。
limits.conf-pam_limitsモジュールの構成ファイル
この制限事項がすべて機能するように、pam_limitsモジュールがロードされていることを確認してください。これを行うには、/ etc / pam.d / common-sessionを編集します。もちろん、これはmanページにもあります。
sudo vi /etc/pam.d/common-session
#これを追加して、pam_limits.soがロードされるようにします。
セッションに必要なpam_limits.so
再起動すると、(ユーザーmongodbの)制限が適用されたことが表示されます。代わりに「*」を使用してそれらを適用した場合、mongodbユーザーに切り替えることなくチェックできます。このコマンドを実行するだけです。
$ ulimit -a
コアファイルサイズ(ブロック、-c)0
データセグメントサイズ(kバイト、-d)無制限
スケジューリング優先度(-e)0
ファイルサイズ(ブロック、-f)無制限
保留中のシグナル(-i)7873
最大ロックメモリ(kbytes、-l)無制限
最大メモリサイズ(kbytes、-m)無制限
ファイルを開く(-n)64000
パイプサイズ(512バイト、-p)8
POSIXメッセージキュー(バイト、-q)819200
リアルタイム優先度(-r)0
スタックサイズ(kbytes、-s)8192
CPU時間(秒、-t)無制限
最大ユーザープロセス(-u)64000
仮想メモリ(kbytes、-v)無制限
ファイルロック(-x)無制限
ご覧のように、すべてが私たちが望んだ限界に設定されていて、すっきりとジャブリングしています。