Ulimit 組込みコマンド

Ulimit 組込みコマンドはシェルプロセスのリソース制限を表示・設定します。

構文

説明

Ulimit コマンドはシェルプロセスのリソース制限値を表示または設定します。-a (--all) オプションを付けて実行すると、ulimit コマンドは全ての種類のリソースについて現在の制限値を一覧形式で標準出力に出力します。-a (--all) オプションを付けないで実行すると、一種類のリソースについて制限値を表示または設定します。オペランドでを指定している場合、その値に制限値を設定します。を指定していない場合は現在の制限値を標準出力に出力します。表示・設定するリソースの種類はオプションで指定します。

リソースの各種類について、ハードリミットソフトリミットの二種類の制限値があります。ソフトリミットがハードリミットを超えることはできません。またハードリミットを緩めるには専用の権限が必要です。

-H (--hard) オプションを指定している場合、ulimit コマンドはハードリミットを表示または設定します。-S (--soft) オプションを指定している場合、ulimit コマンドはソフトリミットを表示または設定します。どちらのオプションも指定してない場合、ulimit コマンドはソフトリミットのみを表示するかまたはハードリミットとソフトリミットの両方を設定します。

オプション

-H, --hard
ハードリミットを表示または設定します。
-S, --soft
ソフトリミットを表示または設定します。
-a, --all
全種類のリソース制限値を表示します。

以下のオプションは表示・設定するリソースの種類を指定します。これらのオプションがどれも与えられていないときは、-f が与えられたものとみなします。(表示・設定可能なリソースの種類はシステムによって異なります)

-c, --core
プロセスが強制終了させられたときにできるコアファイルのサイズの限界 (512 バイト単位)
-d, --data
プロセスが使用できるデータセグメント領域のサイズの限界 (キロバイト単位)
-e, --nice
スケジューリング優先度 (nice 値) の限界
-f, --fsize
プロセスが作成できるファイルのサイズの限界 (512 バイト単位)
-i, --sigpending
プロセスの処理待ちシグナルの個数の限界
-l, --memlock
RAM 上にロック可能なメモリサイズの限界 (キロバイト単位)
-m, --rss
プロセスの resident set (RAM 上に存在する仮想ページ) の数の限界 (キロバイト単位)
-n, --nofile
プロセスが使用できるファイル記述子の最大値 + 1
-q, --msgqueue
POSIX メッセージキューのサイズの限界
-r, --rtprio
リアルタイムスケジューリングの優先度の限界
-s, --stack
プロセスが使用できるスタック領域のサイズの限界 (キロバイト単位)
-t, --cpu
プロセスが使用できる CPU 時間の限界 (秒単位)
-u, --nproc
プロセスが起動できる子プロセスの個数の限界
-v, --as
プロセスが使用できるメモリ領域全体のサイズの限界 (キロバイト単位)
-x, --locks
プロセスがロックできるファイルの個数の限界

オペランド

設定するリソース制限値です。値は基本的に 0 以上の自然数で指定しますが、自然数の代わりに hardsoftunlimited のいずれかの文字列を指定することもできます。これらの文字列はそれぞれ現在のハードリミットの値、現在のソフトリミットの値、無制限を表します。

終了ステータス

リソース制限値が正しく出力または設定できたときは、終了ステータスは 0 です。エラーがあると終了ステータスは非 0 です。

補足

POSIX が規定しているオプションは -f だけです。また POSIX はオペランドのとして自然数しか規定していません。