
Linux によるシェル プロセスのデフォルトのメモリ割り当ては何ですか。つまり、シェル プロセスまたは任意のプロセスに上限はありますか。
答え1
からman bashbuiltins
:
ulimit [-HSTabcdefilmnpqrstuvx [limit]]
このような制御を許可するシステム上で、シェルおよびシェルによって開始されたプロセスで使用可能なリソースを制御します。
現在の制限を表示するために使用しますulimit -a
。
答え2
リソース制限は通常、ulimit
(ユーザーベース) またはsysctl
(システムベース) を通じて制御されます。
たとえば、kernel.shmmax
によって設定されるパラメータは、sysctl
Linux プロセスが仮想アドレス空間に割り当てることができる単一の共有メモリ セグメントの最大サイズをバイト単位で定義します。
ulimit
通常のユーザー プロセスの制限を設定するために使用されます。これらの値は通常、/etc/security/limits.conf
デフォルトで設定されますが、ユーザーごとまたはセッションごとに変更できます。ハード リミットとソフト リミットの両方があります。