'\" te .\" Portions Copyright (c) 2010, 2015, Oracle and/or its affiliates.All rights reserved. .\" Copyright (c) 1982-2007 AT&T Knowledge Ventures .\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Oracle gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation.Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html. This notice shall appear on any product containing this material. .TH limit 1 "2015 年 5 月 21 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 limit, ulimit, unlimit \- 現在のシェルとそのシェルから起動されたプロセスで利用できるシステムリソースの制限値を設定または取得 .SH 形式 .LP .nf \fB/usr/bin/ulimit\fR [\fB-f\fR] [\fIblocks\fR] .fi .SS "sh" .LP .nf \fBulimit\fR [\fB-\fR [HS] [a | cdfnstv]] .fi .LP .nf \fBulimit\fR [\fB-\fR [HS] [c | d | f | n | s | t | v]] \fIlimit\fR .fi .SS "csh" .LP .nf \fBlimit\fR [\fB-h\fR] [\fIresource\fR [\fIlimit\fR]] .fi .LP .nf \fBunlimit\fR [\fB-h\fR] [\fIresource\fR] .fi .SS "ksh88" .LP .nf \fBulimit\fR [\fB-HSacdfnstv\fR] [\fIlimit\fR] .fi .SS "ksh" .LP .nf \fBulimit\fR [\fB-HSacdfmnpstv\fR] [\fIlimit\fR] .fi .SH 機能説明 .SS "/usr/bin/ulimit" .sp .LP \fBulimit\fR ユーティリティーは、シェルとその子プロセスに課せられる書き込み時のファイルサイズの制限値を、設定または報告します (ファイルサイズに関係なく読み取りは可能です)。適切な特権をもつプロセスのみ制限値を上げることができます。 .SS "sh" .sp .LP Bourne シェルの組み込み関数 \fBulimit\fR は、リソースの強い制限値また弱い制限値を表示または設定します。これらの制限値については \fBgetrlimit\fR(2) の説明を参照してください。 .sp .LP \fIlimit\fR を省略すると、\fBulimit\fR は指定されている制限値を表示します。制限値は一度にいくつでも表示できます。\fB-a\fR オプションは制限値すべてを表示します。 .sp .LP \fIlimit\fR 引数を指定すると、\fBulimit\fR は指定されたフラグに対応する制限値をその引数の値に設定します。\fI\fR文字列 \fBunlimited\fR は、現在の制限値 (ある場合) の削除を要求します。ユーザーはだれでも、強い制限値以下の値に弱い制限値を設定できます。ユーザーはだれでも、強い制限値を下げることができます。適切な特権を持ったユーザーだけが、強い制限値を上げたり、削除したりできます。\fBgetrlimit\fR(2) を参照してください。 .sp .LP \fB-H\fR オプションは強い制限値を表し、\fB-S\fR オプションは弱い制限値を表します。どちらのオプションも指定しない場合、\fBulimit\fR は両方の制限値を設定し、弱い制限値を表示します。 .sp .LP 次のオプションは、制限値を表示または設定するリソースを指定します。オプションを一切指定しないと、ファイルサイズ限界値を表示または設定します。 .sp .ne 2 .mk .na \fB\fB-c\fR\fR .ad .RS 6n .rt 最大コアファイルサイズ (512 バイトブロック単位) .RE .sp .ne 2 .mk .na \fB\fB-d\fR\fR .ad .RS 6n .rt データセグメントまたはヒープの最大サイズ (K バイト単位) .RE .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 6n .rt 最大ファイルサイズ (512 バイトブロック単位) .RE .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .RS 6n .rt 最大ファイル記述子に 1 を加えたもの .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .RS 6n .rt スタックセグメントの最大サイズ (K バイト単位) .RE .sp .ne 2 .mk .na \fB\fB-t\fR\fR .ad .RS 6n .rt 最大 CPU 時間 (秒単位) .RE .sp .ne 2 .mk .na \fB\fB-v\fR\fR .ad .RS 6n .rt 仮想メモリーの最大サイズ (K バイト単位) .RE .SS "csh" .sp .LP C シェルの組み込み関数 \fBlimit\fR は、現在のプロセス、またはそれが生成したすべてのプロセスについて、各プロセスが指定された \fIresource\fR を \fIlimit\fR 以上消費しないよう制限します。文字列 \fBunlimited\fR は、現在の制限値 (ある場合) の削除を要求します。\fIlimit\fR を省略すると、現在の制限値を出力します。\fIresource\fR を省略すると、すべての制限値を表示します。 .sp .ne 2 .mk .na \fB\fB-h\fR\fR .ad .RS 6n .rt 現在の制限値ではなく強い制限値を使用します。強い制限値は現在の制限値を制限します。強い制限値を上げることができるのは特権ユーザーだけです。 .RE .sp .LP \fIresource\fR として指定できるものは次のとおりです。 .sp .ne 2 .mk .na \fB\fBcputime\fR\fR .ad .RS 16n .rt プロセス当たりの最大 \fBCPU\fR 使用時間 (秒) .RE .sp .ne 2 .mk .na \fB\fBfilesize\fR\fR .ad .RS 16n .rt 最大の単一ファイル容量。ファイルシステムのサイズと機能に制限されます。\fBdf\fR(1M) を参照してください。 .RE .sp .ne 2 .mk .na \fB\fBdatasize\fR\fR .ad .RS 16n .rt K バイト単位のプロセスのヒープの最大サイズ。 .RE .sp .ne 2 .mk .na \fB\fBstacksize\fR\fR .ad .RS 16n .rt プロセスの最大スタックサイズ。デフォルトのスタックサイズは 2^13 です。 .RE .sp .ne 2 .mk .na \fB\fBcoredumpsize\fR\fR .ad .RS 16n .rt 最大コアダンプのファイルサイズ。ファイルシステムのサイズに制限されます。 .RE .sp .ne 2 .mk .na \fB\fBdescriptors\fR\fR .ad .RS 16n .rt ファイル記述子の最大数。システムで利用可能な最大制限値を 調べるには \fBsysdef\fR(1M) コマンドを実行してください。\fBsysdef\fR によって報告される値は 16 進数ですが、\fBbc\fR(1) コマンドを使って 10 進数に変換できます。 .RE .sp .ne 2 .mk .na \fB\fBmemorysize\fR\fR .ad .RS 16n .rt 仮想記憶の最大サイズ .RE .sp .LP \fIlimit\fR は数値で、次の単位を付加して指定することもできます。 .sp .ne 2 .mk .na \fB\fIn\fR\fBh\fR\fR .ad .RS 9n .rt (\fBcputime\fR の) 時間 .RE .sp .ne 2 .mk .na \fB\fIn\fR\fBk\fR\fR .ad .RS 9n .rt \fIn\fR キロバイト。これは \fBcputime\fR を除くすべての値のデフォルト単位です。 .RE .sp .ne 2 .mk .na \fB\fIn\fR\fBm\fR\fR .ad .RS 9n .rt \fIn\fRメガバイトまたは (\fBcputime\fR の) 分 .RE .sp .ne 2 .mk .na \fB\fImm\fR\fB:\fR\fIss\fR\fR .ad .RS 9n .rt (\fBcputime\fR の) 分と秒 .RE .sp .LP \fBunlimit\fR は \fIresource\fR に関する制限値を削除します。\fIresource\fR が指定されないと、すべてのリソースの制限値が削除されます。リソース名の一覧については、前述の \fBlimit\fR コマンドの説明を参照してください。 .sp .ne 2 .mk .na \fB\fB-h\fR\fR .ad .RS 6n .rt 対応する強い制限値を削除します。これは特権ユーザーだけしか実行できません。 .RE .SS "ksh88" .sp .LP Korn シェルの組み込み関数 \fBulimit\fR は、リソースの制限を表示または設定します。使用可能なリソースの制限を次に説明します。システムによっては、次に挙げたすべての資源の制限を提供していないこともあります。\fIlimit\fR を指定すると、指定したリソースの制限値が設定されます。\fIlimit\fR の値は、各リソースに対応した単位 (後述) の数値、または \fBunlimited\fR という文字列です。文字列 \fBunlimited\fR は、現在の制限値 (ある場合) の削除を要求します。\fB-H\fR と \fB-S\fR の両フラグは、リソースに対して強い制限値と弱い制限値のどちらを設定するかを表します。強い制限値は、いったん設定したらあとで値を上げることはできません。弱い制限値は、強い制限値を超えない範囲で値を上げることが可能です。\fB-H\fR も \fB-S\fR も省略すると、指定した制限値が強い制限と弱い制限の両方に適用されます。\fIlimit\fR 引数を省略すると、現在のリソース制限値が表示されます。このとき、\fB-H\fR が指定された場合を除き、表示されるのは弱い制限値です。複数のリソースを指定すると、値の前に制限するリソース名と単位とが表示されます。 .sp .ne 2 .mk .na \fB\fB-a\fR\fR .ad .RS 6n .rt 現在のリソース制限値をすべて表示します。 .RE .sp .ne 2 .mk .na \fB\fB-c\fR\fR .ad .RS 6n .rt コアダンプのサイズをブロック (512 バイト) 単位で表します。 .RE .sp .ne 2 .mk .na \fB\fB-d\fR\fR .ad .RS 6n .rt データ領域のサイズを K バイト単位で表します。 .RE .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 6n .rt 子プロセスが書き込むファイルのサイズをブロック (512 バイト) 単位で表します。読み込むファイルのサイズに制限はありません。 .RE .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .RS 6n .rt ファイル記述子数に 1 を加えた値を表します。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .RS 6n .rt スタック領域のサイズを K バイト単位で表します。 .RE .sp .ne 2 .mk .na \fB\fB-t\fR\fR .ad .RS 6n .rt 各プロセスが使用する秒数 (CPU 時間) を表します。 .RE .sp .ne 2 .mk .na \fB\fB-v\fR\fR .ad .RS 6n .rt 仮想記憶のサイズを K バイト単位で表します。 .RE .sp .LP オプションをすべて省略すると、\fB-f\fR が指定されたものとみなします。 .SS "シェルごとのメモリーパラメータ" .sp .LP \fBheapsize\fR、\fBdatasize\fR、および \fBstacksize\fR パラメータは調整可能なシステムパラメータではありません。これらを制御できるのは、シェルの起動ファイルで設定される強い制限値、または、システム規模の弱い制限値だけです。現在のバージョンの Solaris OS の場合、後者は 2^13 バイトです。 .SS "ksh" .sp .LP \fBulimit\fR は、リソースの制限値を設定または表示します。これらの制限値は、現在のプロセスと、リソースの制限値の設定後に作成された各子プロセスに適用されます。\fIlimit\fR を指定した場合は、リソースの制限値が設定され、それ以外の場合は、その現在の値が標準出力に表示されます。 .sp .LP 通常、リソースの制限値を上げるには特権が必要です。一部のシステムでは、ユーザーがリソースの制限値を下げて、あとで上げることができます。これらは、弱い制限値と呼ばれます。いったん強い制限値が設定されると、リソースを増やすことはできません。 .sp .LP 異なるシステムで異なるリソースを指定でき、一部のシステムではリソースの制限値をどの程度上げられるかが制限されています。 .sp .LP \fIlimit\fR の値は、各リソースで示されているリソースの単位によって異なります。また、\fIlimit\fR に「unlimited」を指定して、そのリソースについては制限なしであることを示すことができます。 .sp .LP \fB-H\fR または \fB-S\fR を指定しない場合、一覧表示には \fB-S\fR が使用され、リソースの設定には \fB-S\fR と \fB-H\fR の両方が使用されます。 .sp .LP いずれのリソースも指定しない場合、デフォルトは \fB-f\fR です。 .sp .LP \fBksh\fR における \fBulimit\fR では、次のオプションを使用できます。 .sp .ne 2 .mk .na \fB\fB-a\fR\fR .ad .RS 13n .rt 現在のリソースの制限値をすべて表示します。 .RE .sp .ne 2 .mk .na \fB\fB-b\fR\fR .ad .br .na \fB\fB--sbsize\fR\fR .ad .RS 13n .rt ソケットバッファーサイズをバイト単位で指定します。 .RE .sp .ne 2 .mk .na \fB\fB-c\fR\fR .ad .br .na \fB\fB--core\fR\fR .ad .RS 13n .rt コアファイルサイズをブロック単位で指定します。 .RE .sp .ne 2 .mk .na \fB\fB-d\fR\fR .ad .br .na \fB\fB--data\fR\fR .ad .RS 13n .rt データサイズを K バイト単位で指定します。 .RE .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .br .na \fB\fB--fsize\fR\fR .ad .RS 13n .rt ファイルサイズをブロック単位で指定します。 .RE .sp .ne 2 .mk .na \fB\fB-H\fR \fR .ad .RS 13n .rt 強い制限値を表示または設定します。 .RE .sp .ne 2 .mk .na \fB\fB-L\fR\fR .ad .br .na \fB\fB--locks\fR\fR .ad .RS 13n .rt ファイルのロック数を指定します。 .RE .sp .ne 2 .mk .na \fB\fB-l\fR\fR .ad .br .na \fB\fB--memlock\fR\fR .ad .RS 13n .rt ロックされたアドレス空間を K バイト単位で指定します。 .RE .sp .ne 2 .mk .na \fB\fB-M\fR\fR .ad .br .na \fB\fB--as\fR\fR .ad .RS 13n .rt アドレス空間の制限値を K バイト単位で指定します。 .RE .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .br .na \fB\fB--nofile\fR\fR .ad .RS 13n .rt 開かれているファイルの数を指定します。 .RE .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .br .na \fB\fB--pipe\fR\fR .ad .RS 13n .rt パイプバッファーサイズをバイト単位で指定します。 .RE .sp .ne 2 .mk .na \fB\fB-m\fR\fR .ad .br .na \fB\fB--rss\fR\fR .ad .RS 13n .rt 常駐の設定サイズを K バイト単位で指定します。 .RE .sp .ne 2 .mk .na \fB\fB-S\fR\fR .ad .RS 13n .rt 弱い制限値を表示または設定します。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .br .na \fB\fB--stack\fR\fR .ad .RS 13n .rt スタックサイズを K バイト単位で指定します。 .RE .sp .ne 2 .mk .na \fB\fB-T\fR\fR .ad .br .na \fB\fB--threads\fR\fR .ad .RS 13n .rt スレッド数を指定します。 .RE .sp .ne 2 .mk .na \fB\fB-t\fR\fR .ad .br .na \fB\fB--cpu\fR\fR .ad .RS 13n .rt CPU 時間を秒単位で指定します。 .RE .sp .ne 2 .mk .na \fB\fB-u\fR\fR .ad .br .na \fB\fB--nproc\fR\fR .ad .RS 13n .rt プロセス数を指定します。 .RE .sp .ne 2 .mk .na \fB\fB-v\fR\fR .ad .br .na \fB\fB--vmem\fR\fR .ad .RS 13n .rt プロセスサイズを K バイト単位で指定します。 .RE .SH オプション .sp .LP \fB/usr/bin/ulimit\fR では次のオプションがサポートされています。 .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 6n .rt ファイルサイズの制限をブロック単位で設定 (\fIblocks\fR を指定しない場合は報告) します。これはデフォルト値です。\fB-\fR .RE .SH オペランド .sp .LP \fB/usr/bin/ulimit\fR では次のオペランドがサポートされています。 .sp .ne 2 .mk .na \fB\fIblocks\fR\fR .ad .RS 10n .rt 新しくファイルサイズの制限として使用する 512 バイトごとのブロック数。 .RE .SH 使用例 .SS "/usr/bin/ulimit" .LP \fB例 1 \fRスタックサイズを制限する .sp .LP 次の例は、スタックサイズを 512K バイトに制限します。 .sp .in +2 .nf example% \fBulimit -s 512\fR example% \fBulimit -a\fR time(seconds) unlimited file(blocks) 100 data(kbytes) 523256 stack(kbytes) 512 coredump(blocks) 200 nofiles(descriptors) 64 memory(kbytes) unlimited .fi .in -2 .sp .SS "sh/ksh88" .LP \fB例 2 \fRファイル記述子の数を制限する .sp .LP 次のコマンドは、ファイル記述子の数を 12 に制限します。 .sp .in +2 .nf example$ \fBulimit -n 12\fR example$ \fBulimit -a\fR time(seconds) unlimited file(blocks) 41943 data(kbytes) 523256 stack(kbytes) 8192 coredump(blocks) 200 nofiles(descriptors) 12 vmemory(kbytes) unlimited .fi .in -2 .sp .SS "csh" .LP \fB例 3 \fRコアダンプファイルのサイズを制限する .sp .LP 次のコマンドは、コアダンプファイルのサイズを 0K バイトに制限します。 .sp .in +2 .nf example% \fBlimit coredumpsize 0\fR example% \fBlimit\fR cputime unlimited filesize unlimited datasize 523256 kbytes stacksize 8192 kbytes coredumpsize 0 kbytes descriptors 64 memorysize unlimited .fi .in -2 .sp .LP \fB例 4 \fRコアファイルサイズの制限を削除する .sp .LP 次のコマンドは、コアファイルサイズの前述の制限を削除します。 .sp .in +2 .nf example% \fBunlimit coredumpsize\fR example% \fBlimit\fR cputime unlimited filesize unlimited datasize 523256 kbytes stacksize 8192 kbytes coredumpsize unlimited descriptors 64 memorysize unlimited .fi .in -2 .sp .SH 環境 .sp .LP \fBulimit\fR の実行に影響を与える次の環境変数についての詳細は、\fBenviron\fR(5) を参照してください。\fBLANG\fR、\fBLC_ALL\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR、および \fBNLSPATH\fR。 .SH 終了ステータス .sp .LP \fBulimit\fR により、次の終了値が返されます。 .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 正常終了。 .RE .sp .ne 2 .mk .na \fB>\fB0\fR\fR .ad .RS 6n .rt 要求した制限値が大きいため拒否された、またはエラーが発生しました。 .RE .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .SS "/usr/bin/ulimit、csh、ksh88、sh" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os _ インタフェースの安定性確実 _ 標準T{ \fBstandards\fR(5) を参照してください。 T} .TE .SS "ksh" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os _ インタフェースの安定性不確実 .TE .SH 関連項目 .sp .LP \fBbc\fR(1), \fBcsh\fR(1), \fBksh\fR(1), \fBksh88\fR(1), \fBsh\fR(1), \fBdf\fR(1M), \fBsu\fR(1M), \fBswap\fR(1M), \fBsysdef\fR(1M), \fBgetrlimit\fR(2), \fBattributes\fR(5), \fBenviron\fR(5), \fBstandards\fR(5) .SH 注意事項 .sp .LP \fBprctl\fR(1) などの Solaris のほかのリソース制限機能と一緒に \fBulimit\fR を使用する場合、予期しない結果が起こりうることに注意してください。\fBresource-controls \fR(5) を参照してください。 .sp .LP \fBresource-controls \fR(5) に説明されているプロジェクトリソース制御とともに \fBprctl\fR(1) を使用して、有効な制限をいつでも正確に観察してください。