/etc/security/limits.confに関する説明
4397 ワード
kafkaとelasticsearchクラスタを架設する際、システムリソース構成を変更する必要があるという問題、すなわち/etc/security/limits.confファイルに関連し、他のタイプのサーバにもこれらの問題があります.以下にまとめます.
一時的なシステムチューニング-ulimitコマンド
ulimitコマンドの使い方説明
コマンド:ulimit機能:shellプログラムを制御するリソース構文:ulimit[-aHS][-c][-d][-f][-m][-n][-p][-s][-t][-u][-v]説明:ulimitはshell実行プログラムを制御するリソースである.パラメータ:-a現在のリソース制限の設定を表示します.-c coreファイルの最大値をブロック単位で設定します.-dプログラムデータセクションの最大値.単位はKB.-f shellが作成できる最大ファイル.単位はブロックです.-Hリソースのハードリミット、つまり管理者が設定したリミットを設定します.-m使用可能メモリの上限をKB単位で指定します.-n同じ時間に開くファイルの最大数を指定します.-pパイプバッファのサイズを512バイトで指定します.-sスタックの上限をKB単位で指定します.-Sリソースのフレックスリミットを設定します.-t CPU使用時間の上限を秒単位で指定します.-uユーザーが開始できる最大プロセス数.-v使用可能な仮想メモリの上限をKB単位で指定します.
デフォルトではリソース構成
最大プロセス数の変更
Linuxは、ユーザーごとに最大プロセス数を制限します.パフォーマンスを向上させるために、デバイスリソースの状況に応じて、各linuxユーザーの最大プロセス数(10000など)を設定できます.
最大ファイルオープン数の変更
多くのsocket接続を行い、開いているJavaアプリケーションでは、デフォルト値は1024です.各プロセスで開くファイル数を設定する必要があります.
その他の設定
無制限(unlimited)に設定することを推奨するいくつかの重要な設定は、次のとおりです.
セグメント長
最大メモリサイズ
スタックサイズ
CPU時間
仮想メモリ
注意:ulimitedはユーザーが使用できるリソースを制限しませんが、この設定は開いている最大ファイル数(max open files)と同時に実行できる最大プロセス数(max user processes)に対して無効です.
永久システムチューニング--/etc/security/limits.confまたは/etc/security/limits.d/フォルダの下に新規ファイル書き込み制限内容
/etc/security/limits.confはLinuxリソース使用プロファイルであり、システムリソースの使用を制限するために使用されます.limits.confファイルは実際にはLinux PAM(プラグイン認証モジュール、Pluggable Authentication Modules)のpam_limits.soのプロファイルであり、単一セッションのみに適用されます./etc/security/limits.d/フォルダで定義されたファイルの内容はlimits.conf形式と同じですが、優先度が高く、このフォルダで自分の必要なものを定義することをお勧めします.
limits.confのフォーマット username|@groupname:制限が必要なユーザー名を設定し、グループ名の前に@とユーザー名の違いを付けます.ワイルドカード'*'を使用して、すべてのユーザーの制限を行うこともできます. type:ソフトウェア、hard、および-があり、ソフトウェアは現在のシステムで有効な設定値を指します.hardは、システムで設定できる最大値を示します.ソフトの制限はharの制限より高くはならない.-を使用して、ソフトウェアとhardの値が同時に設定されていることを示します. resource: core-カーネルファイルのサイズを制限 date-最大データサイズ fsize-最大ファイルサイズ memlock-最大ロックメモリアドレス空間 nofile-開くファイルの最大数 rss-最大持続設定サイズ stack-最大スタックサイズ cpu-分単位の最大CPU時間 noproc-プロセスの最大数 as-アドレス空間制限 maxlogins-このユーザーがログインを許可する最大数 limit:具体的な数値 その他の構成
/etc/security/limitsを有効にします.conf機能
limits.confファイル構成が有効になるにはpam_を確認する必要があります.limits.soファイルが起動ファイルに追加されます.表示/etc/pam.d/suファイルには:
Linux環境変数の変更
注意:ここで設定する204800は/etc/security/limitsより大きい必要があります.conf最大オープン数
例を挙げる
例:ファイル記述子サイズの変更(65536) step1 step2 step3
注意!
サービス起動の上記の設定が機能しない場合は、サーバファイルに設定する必要があります.サーバファイルは一般的に次の場所にあります./usr/lib/systemd/systemシステムサービス /etc/systemd/systemユーザ定義サービスは、サービスファイルに以下の を次のコマンドで表示できます.
一時的なシステムチューニング-ulimitコマンド
ulimitコマンドの使い方説明
コマンド:ulimit機能:shellプログラムを制御するリソース構文:ulimit[-aHS][-c][-d][-f][-m][-n][-p][-s][-t][-u][-v]説明:ulimitはshell実行プログラムを制御するリソースである.パラメータ:-a現在のリソース制限の設定を表示します.-c coreファイルの最大値をブロック単位で設定します.-dプログラムデータセクションの最大値.単位はKB.-f shellが作成できる最大ファイル.単位はブロックです.-Hリソースのハードリミット、つまり管理者が設定したリミットを設定します.-m使用可能メモリの上限をKB単位で指定します.-n同じ時間に開くファイルの最大数を指定します.-pパイプバッファのサイズを512バイトで指定します.-sスタックの上限をKB単位で指定します.-Sリソースのフレックスリミットを設定します.-t CPU使用時間の上限を秒単位で指定します.-uユーザーが開始できる最大プロセス数.-v使用可能な仮想メモリの上限をKB単位で指定します.
デフォルトではリソース構成
# ulimit -a
...
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 30518
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
最大プロセス数の変更
Linuxは、ユーザーごとに最大プロセス数を制限します.パフォーマンスを向上させるために、デバイスリソースの状況に応じて、各linuxユーザーの最大プロセス数(10000など)を設定できます.
# ulimit -u 10000
最大ファイルオープン数の変更
多くのsocket接続を行い、開いているJavaアプリケーションでは、デフォルト値は1024です.各プロセスで開くファイル数を設定する必要があります.
# ulimit -n 65535
その他の設定
無制限(unlimited)に設定することを推奨するいくつかの重要な設定は、次のとおりです.
セグメント長
# ulimit -d unlimited
最大メモリサイズ
# ulimit -m unlimited
スタックサイズ
# ulimit -s unlimited
CPU時間
# ulimit -t unlimited
仮想メモリ
# ulimit -v unlimited
注意:ulimitedはユーザーが使用できるリソースを制限しませんが、この設定は開いている最大ファイル数(max open files)と同時に実行できる最大プロセス数(max user processes)に対して無効です.
永久システムチューニング--/etc/security/limits.confまたは/etc/security/limits.d/フォルダの下に新規ファイル書き込み制限内容
/etc/security/limits.confはLinuxリソース使用プロファイルであり、システムリソースの使用を制限するために使用されます.limits.confファイルは実際にはLinux PAM(プラグイン認証モジュール、Pluggable Authentication Modules)のpam_limits.soのプロファイルであり、単一セッションのみに適用されます./etc/security/limits.d/フォルダで定義されたファイルの内容はlimits.conf形式と同じですが、優先度が高く、このフォルダで自分の必要なものを定義することをお勧めします.
limits.confのフォーマット
username|@groupname type resource limit
/etc/security/limitsを有効にします.conf機能
limits.confファイル構成が有効になるにはpam_を確認する必要があります.limits.soファイルが起動ファイルに追加されます.表示/etc/pam.d/suファイルには:
...
session required pam_limits.so
...
Linux環境変数の変更
# vim /etc/profile
...
#
ulimit -SHn 204800
注意:ここで設定する204800は/etc/security/limitsより大きい必要があります.conf最大オープン数
例を挙げる
例:ファイル記述子サイズの変更(65536)
# vim /etc/security/limits.d/30-nofile.conf
...
* soft nofile 65536
* hard nofile 65536
# vim /etc/pam.d/su
...
session required pam_limits.so
# vim /etc/profile
...
ulimit -SHn 204800
注意!
サービス起動の上記の設定が機能しない場合は、サーバファイルに設定する必要があります.サーバファイルは一般的に次の場所にあります.
...
[Service]
...
LimitCORE=infinity
LimitNOFILE=65536
LimitNPROC=65536
を追加する.上記3つは、サービスに追加する必要があるコンテンツであり、65536はカスタム数である.現在実行中のサービスのリソース制限# cat /proc//limit