Ulimit と nproc はどちらも、* nix システムで特定のユーザーまたはアプリケーションのシステム プロセスとリソースを制限するために使用されます (間違っている場合は訂正してください)。2つの主な違いは何ですか?
2 に答える
nproc
fromcoreutils
はプロセッサの数を出力します。からman nproc
:
NPROC(1) User Commands NPROC(1)
NAME
nproc - print the number of processing units available
SYNOPSIS
nproc [OPTION]...
DESCRIPTION
Print the number of processing units available to the current process,
which may be less than the number of online processors
ただし、nproc
設定は/etc/security/limits.conf
実際にはプロセスの数を制限します:
からman limits.conf
:
nproc
maximum number of processes
both are used for limiting the system processes and resources
limits.confで nproc パラメータを参照している場合、はい、プロセス数を制限するためのものです。
シェル ユーティリティulimitは、リソースの制限を取得/設定するためにも使用されます。たとえば、各プロセスのスタック サイズを取得するには:
$ulimit -s
スタックサイズを 1MB に変更:
$ulimit -s 1024
スタック サイズを に変更unlimited
:
$ulimit -s unlimited
ulimit によるリソースの設定/変更に違いはありません/etc/security/limits.conf`` and
。
ただし、シェル ユーティリティのulimit
変更は、現在のシェルにのみ適用されます。ただし、/etc/security/limits.conf の変更は、指定されたすべてのユーザーに対してシステム全体に適用されます。また、/etc/security/limits.conf は通常、特権ユーザーのみが変更できます。
ただしulimit
、特権は必要ありません。
ulimit
そのため、リソース制限の一時的な変更について考えることができます。これは自分で変更できます。一方、/etc/security/limits.conf
通常は変更できないシステム全体の設定 (1 人以上のユーザー) 用です (通常、システム管理者がリソース制限を設定します)。
ユーティリティnproc(1)
はまったく異なりますが、使用可能なプロセッサの数をリストするだけです。