日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
LIMITS(1) FreeBSD 一般コマンドマニュアル LIMITS(1)
名称
limits - リソースの制限値の設定および表示
書式
limits [-C class | -U user] [-SHB] [-ea] [-bcdflmnstuv [val]]
limits [-C class | -U user] [-SHB] [-bcdflmnstuv [val]] [-E]
[[name=value ...] command]
解説
limits ユーティリティはカーネルのリソース制限の表示および設定を行ないま
す。また、 env(1) のように環境変数を設定して、プログラムを選択したリソー
スで動作させることもできます。 limits ユーティリティは以下の 3 通りの使い
方ができます:
limits [limitflags] [name=value ...] command
この使い方では limitflags にしたがって制限をセットし、オプション
で name=value のペアで与えられた環境変数をセットし、指定された
command を実行します。
limits [limitflags]
この使い方ではリソースの設定の値は実際には設定せずに、設定値を
limitflags にしたがって決定し、標準出力に出力します。デフォルトで
は、呼び出しプロセスにおいて有効な現在のカーネルのリソースの設定
値を出力します。 -C class や -U user オプションを使うと、ログイン
能力データベース login.conf(5) で設定されているログインクラスのリ
ソース制限エントリによって変更された現在のリソース設定を表示しま
す。
limits -e [limitflags]
この使い方では limitflags にしたがってリソースの設定値を決定しま
すが、実際には設定は行ないません。前の使い方のように、これらの設
定値を標準出力しますが、シェルをコールするのに都合の良いように
eval の形式で出力します。コールされるシェルは、親プロセスの /proc
ファイルシステム中のエントリを調べて決定されます。もし、シェルが
判明すると (すなわち sh, csh, bash, tcsh, ksh, pdksh, rc のいずれ
か)、 limits は limit もしくは ulimit コマンドをそのシェルが解釈
できるフォーマットで出力します。シェル名が決定できなかった場合
は、 sh(1) によって使われる ulimit 形式で出力します。
これはスクリプトで制限を設定したり、デーモンや他のバックグランド
タスクをリソースを制限して起動したりする場合に非常に便利な機能で
す。また、ログインクラスデータベースを設定し中央データベースを保
守することにより、最大使用リソースをグローバルに設定することがで
きるという利点があります。
limits は通常シェルスクリプト中では次のようにバッククォーテーショ
ンに囲み評価するようにして使われます。
eval `limits -e -C daemon`
これで limits の出力が評価され、現在のシェルで設定されます。
上記の中で指定された limitflags の値には以下のオプションのうちの 1 つ以上
のものが含まれます:
-C class 現在のリソースの値をもとに、ログインクラス class で適用されるリ
ソースエントリによって変更したものを使います。
-U user 現在のリソースの値をもとに、 user が属するログインクラスに適用
されるリソースエントリによって変更したものを使います。 user が
どのクラスにも属していない場合、 ``default'' クラスが存在すれば
そのリソース能力が使用され、もしそのユーザがスーパユーザアカウ
ントであれば、 ``root'' クラスが使用されます。
-S リソースの ``soft'' (もしくは現在の) 制限を表示もしくは設定しま
す。このスイッチに続いて指定される制限の設定は、 -H や -B オプ
ションでオーバライドしない限り、soft リミットに対する設定となり
ます。
-H リソースの ``hard'' (もしくは最大の) 制限を表示もしくは設定しま
す。このスイッチに続いて指定される制限の設定は、 -S や -B オプ
ションでオーバライドしない限り、hard リミットに対する設定となり
ます。
-B リソースの ``soft'' (現在の) および ``hard'' (最大の) 制限を表
示もしくは設定します。このスイッチに続いて指定される制限の設定
は、 -S や -H オプションでオーバライドしない限り、soft リミット
および hard リミットの両者に対する設定となります。
-e 出力を ``eval mode'' (評価モード) の書式にします。これは表示
モードでのみ有効であり、コマンドを実行するときには使えません。
出力に使用される正確なシンタックスは limits が起動されたシェル
のタイプに依存します。
-b [val] sbsize 資源制限を選択または設定します。
-c [val] coredumsize のリソースの制限を選択もしくは設定 (val が指定され
た場合) します。値に 0 を指定するとコアダンプしないようになりま
す。
-d [val] datasize のリソースの制限を選択もしくは設定 (val が指定された場
合) します。
-f [val] filesize のリソースの制限を選択もしくは設定します。
-l [val] memorylocked のリソースの制限を選択もしくは設定します。
-m [val] memoryuse のサイズの制限を選択もしくは設定します。
-n [val] openfiles のリソースの制限を選択もしくは設定します。プロセスご
との最大オープンファイル数のシステムワイドの制限は、
kern.maxfilesperproc sysctl(8) 変数を検査することで表示できま
す。システム全体で同時にオープンできるファイルの総数は、
kern.maxfiles sysctl(8) 変数が表示する値に制限されます。
-s [val] stacksize のリソースの制限を選択もしくは設定します。
-t [val] cputime のリソースの制限を選択もしくは設定します。
-u [val] maxproc のリソースの制限を選択もしくは設定します。 UID ごとの最
大プロセス数のシステムワイドの制限は、 kern.maxprocperuid
sysctl(8) 変数を検査することで表示できます。システム全体で同時
に走行できるプロセスの総数は、 kern.maxproc sysctl(8) 変数の値
に制限されます。
-v [val] virtualmem のリソースの制限を選択もしくは設定します。当該ユーザ
プロセスが使用可能な VM 空間全体を制限し、これには、テキスト、
データ、BSS、スタック、 brk(2), sbrk(2) mmap(2) される空間が含
まれます。
上記のオプションのセットにおける有効な val の値は、無限値 (もしくはカーネ
ルにおいて定義されている最大値) を設定する場合は文字列 ``infinity'',
``inf'', ``unlimited'', ``unlimit'' のいずれかを指定し、それ以外の場合は
接尾子つきの数字を指定します。サイズに関する値はデフォルトではバイトでの
値となります。また以下の接尾子の 1 つを付けることによってその単位となりま
す。
b 512 バイトブロック。
k キロバイト (1024 バイト)。
m メガバイト (1024*1024 バイト)。
g ギガバイト。
t テラバイト。
cputime リソースについてはデフォルトでは秒による値となります。また以下の
接尾子を付加することにより、それぞれの単位で指定可能です。有効な複数の単
位指定を並べると、その和を指定したことになります:
s 秒。
m 分。
h 時間。
d 日。
w 週。
y 年 (365 日)。
-E limits は継承している環境を完全に無視します。
-a 特定のリソースの設定が指定されていても、全てのリソースの設定を
表示させます。例えば、USENET ニュースシステムの立ち上げ時にコア
ダンプを無効にしたいが、 ``news'' アカウントに適用されるその他
の全てのリソースの設定を行ないたい場合は、次のように使います:
eval `limits -U news -aBec 0`
setrlimit(2) コールのように、スーパユーザのみが ``hard'' リソー
ス制限を引き上げることができます。 root 以外のユーザはそれを引
き下げるか、リソースの ``soft'' リミットを hard リミットの範囲
で変更することができます。プログラムを実行する場合、 limits が
hard リミットを引き上げようとすると、それは致命的エラーとして扱
われます。
診断
limits ユーティリティは、ユーザが何らかの方法で誤使用をすると
EXIT_FAILURE で終了します。誤使用には不正なオプションを使用した場合や、同
時に設定と表示のオプションを指定した場合、または -e がプログラムを起動す
る時に使われた場合などが含まれます。表示モードもしくは評価モードにて実行
されたとき、 limits は EXIT_SUCCESS の終了ステータスで終了します。コマン
ドモードで実行されコマンドの実行が成功したときには、終了ステータスは実行
されたプログラムが返すものになります。
関連項目
csh(1), env(1), limit(1), sh(1), getrlimit(2), setrlimit(2),
login_cap(3), login.conf(5), sysctl(8)
バグ
明らかな理由により、 limits ユーティリティは、等号 (`=') がその名称に含ま
れるコマンドを扱うことができません。
評価用の出力が選択された場合、シェルを正しく認識し、そのシェルにとって出
力が正しいシンタックスとなるためには、 /proc ファイルシステムがインストー
ルされマウントされていなければなりません。デフォルトの出力は sh(1) にとっ
て有効なものとなります。そのため、 /proc マウント前に limits を使用できる
のは、標準の bourne シェルスクリプト中でのみとなります。
limits ユーティリティは、出力や表示するリソースの設定が現在のユーザで有効
であるかや、設定可能であるかについては確認を行ないません。スーパユーザア
カウントのみが hard リミットを引き上げることができます。与えられた値が大
きすぎる場合は FreeBSD カーネルは何も出力せずにその制限値を指定された値よ
り低く設定します。
FreeBSD 4.9 September 18, 2002 FreeBSD 4.9