名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目
ulimit ユーティリティは、シェルとその子プロセスに課せられる 書き込み時のファイルサイズの制限値を、設定または報告します (ファイルサイズに関係なく 読み取りは可能です) 。適切な特権をもつプロセスのみ 制限値を上げることができます。
Bourne シェルの組み込み関数 ulimit は、資源の強い制限値また弱い制限値を表示または設定します。これらの制限値については getrlimit(2) の説明を参照してください。
limit 引数を省略すると、ulimit は指定されている制限値を表示します。制限値は一度にいくつでも表示できます。-a オプションは制限値すべてを表示します。
limit 引数を指定すると、ulimit は指定されたフラグに対応する制限値をその引数の値に設定します。limit 引数の値として unlimited という文字列を指定すると、有効な最大値に設定されます。一度に資源 1 つについてだけ制限値を設定できます。ユーザーは誰でも、弱い制限値を強い制限値を超えない 任意の値に設定できます。また、強い制限値を下げることもできます。ただし、強い制限値を上げることができるのはスーパーユーザーだけです。詳細は su(1M) を参照してください。
-H オプションは強い制限値を表し、-S オプションは弱い制限値を表します。どちらのオプションも指定しない場合、ulimit は両方の制限値を設定し、弱い制限値を表示します。
以下のオプションは、制限値を表示または設定すべき資源を指定します。オプションをいっさい指定しないと、ファイルサイズ制限値を表示または設定します。
最大コアファイルサイズ (512 バイトブロック単位)
データセグメントまたはヒープの最大サイズ (K バイト単位)
最大ファイルサイズ (512 バイトブロック単位)
最大ファイル記述子に 1 を加えたもの
スタックセグメントの最大サイズ (K バイト単位)
最大 CPU 時間 (秒単位)
仮想記憶の最大サイズ (K バイト単位)
C シェルの組み込み関数 limit は現在のプロセス、またはそれが生成したすべてのプロセスについて、各プロセスが指定された resource を limit 以上消費しないよう制限します。limit を省略すると、現在の制限値を表示します。resource を省略すると、すべての制限値を表示します。システムで利用可能な最大上限値を 調べるには sysdef(1M) コマンドを実行してください。表示される値は 16 進数ですが、bc(1) コマンドを使って 10 進数に変換できます。
現在の制限値ではなく強い制限値を使用します。強い制限値は現在の制限値を制限します。強い制限値を上げることができるのは特権ユーザーだけです。
resource として指定できるものは次のとおりです。
プロセス当たりの最大 CPU 使用時間 (秒)
ファイルシステムのサイズに制限された最大の単一ファイル容量 (df(1M) 参照)
K バイト単位の プロセスのヒープの最大サイズ
プロセスの最大スタックサイズ (swap(1M) 参照)
最大コアダンプのファイルサイズ ファイルシステムのサイズに制限する
ファイル記述子の最大数 (sysdef() を実行)
仮想記憶の最大サイズ
limit は数値で、以下の単位を付加して指定することもできます。
(cputime の) 時間
nK バイト。これは cputime を除くすべての値のデフォルト単位
nM バイトまたは (cputime の) 分
(cputime の) 分と秒
unlimit は resource に関する制限値を削除します。resource が指定されないと、すべての資源の制限値が削除されます。資源名の一覧については、前述の limit コマンドの説明を参照してください。
対応する強い制限値を削除します。これは特権ユーザーだけが実行できます。
Korn シェルの組み込み関数 ulimit は資源の制限を表示または設定します。使用可能な資源の制限は以下に説明します。システムによっては、以下に挙げたすべての 資源の制限を提供していないこともあります。limit 引数を指定すると、制限値が設定されます。limit の値は、各資源に対応した単位 (後述) の数値、または unlimited という文字列です。-H と -S の両フラグは、資源に対して 強い制限と弱い制限のどちらを 設定するかを表します。強い制限値は、いったん設定したら あとで値を上げることはできません。弱い制限値は、強い制限値を超えない範囲で 値を上げることが可能です。-H も -S も省略すると、指定した制限値が強い制限と弱い制限の 両方に適用されます。limit 引数を省略すると、現在の資源制限値が表示されます。このとき、-H が指定された場合を除き、表示されるのは弱い制限値です。複数の資源を指定すると、値の前に制限する資源名と単位とが表示されます。
現在の資源制限値をすべて表示します。
コアダンプ時のコアファイルのサイズをブロック (512 バイト) 単位で表します。
データ領域のサイズを K バイト単位で表します。
子プロセスが書き込むファイルのサイズをブロック (512 バイト) 単位で表します。読み取るファイルにはサイズの制限はありません。
最大ファイル記述子に 1 を加えた値を表します。
スタック領域のサイズを K バイト単位で表します。
各プロセスが使用する秒数 (CPU 時間) を表します。
仮想記憶のサイズを K バイト単位で表します。
オプションをすべて省略すると、-f が指定されたものとみなします。
スタックサイズを 512K バイトに 制限します。
% ulimit -s 512 % ulimit -a % time(seconds) unlimited file(blocks) 100 data(kbytes) 523256 stack(kbytes) 512 coredump(blocks) 200 nofiles(descriptors) 64 memory(kbytes) unlimited |
ファイル記述子の数を 12 に制限します。
$ ulimit -n 12 $ ulimit -a time(seconds) unlimited file(blocks) 41943 data(kbytes) 523256 stack(kbytes) 8192 coredump(blocks) 200 nofiles(descriptors) 12 vmemory(kbytes) unlimited |
コアダンプファイルのサイズを 0K バイトに 制限します。
% limit coredumpsize 0 % limit cputime unlimited filesize unlimited datasize 523256 kbytes stacksize 8192 kbytes coredumpsize 0 kbytes descriptors 64 memorysize unlimited |
上記の制限から コアファイルサイズについての制限を削除します。
% unlimit coredumpsize % limit cputime unlimited filesize unlimited datasize 523256 kbytes stacksize 8192 kbytes coredumpsize unlimited descriptors 64 memorysize unlimited |
ulimit の実行に影響を与える環境変数 LC_CTYPE、LC_MESSAGES、NLSPATH についての詳細は、environ(5) を参照してください。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
使用条件 | SUNWcsu |
bc(1), csh(1), ksh(1), sh(1), df(1M), su(1M), swap(1M), sysdef(1M), getrlimit(2), attributes(5), environ(5)
名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目