aboutsummaryrefslogblamecommitdiff
path: root/ja_JP.eucJP/man/man1/limits.1
blob: 3ed5796de2a610f33dff6617b4658bb72d2e48cf (plain) (tree)


















                                                                             
                                                           





























































































































































































































































                                                                              

                 




















                                                                        
.\" Copyright (c) 1996 David Nugent <davidn@blaze.net.au>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, is permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice immediately at the beginning of the file, without modification,
.\"    this list of conditions, and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. This work was done expressly for inclusion into FreeBSD.  Other use
.\"    is permitted provided this notation is included.
.\" 4. Absolutely no warranty of function or purpose is made by the author
.\"    David Nugent.
.\" 5. Modifications may be freely made to this file providing the above
.\"    conditions are met.
.\"
.\"	%Id: limits.1,v 1.8 1998/06/04 21:05:58 steve Exp %
.\" jpman %Id: limits.1,v 1.3 1997/06/23 15:04:52 horikawa Stab %
.\"
.Dd January 15, 1996
.Dt LIMITS 1
.Os FreeBSD
.Sh 名称
.Nm limits
.Nd リソースの制限値の設定および表示
.Sh 書式
.Nm limits
.Op Fl C Ar class
.Op Fl SHB
.Op Fl ea
.Op Fl cdflmnstu Op val
.Nm limits
.Op Fl C Ar class
.Op Fl SHB
.Op Fl cdflmnstu Op val
.Op Fl E
.Op Ar name=value ...
.Op Ar command
.Nm limits
.Op Fl U Ar user
.Op Fl SHB
.Op Fl ea
.Op Fl cdflmnstu Op val
.Nm limits
.Op Fl U Ar user
.Op Fl SHB
.Op Fl cdflmnstu Op val
.Op Fl E
.Op Ar name=value ...
.Op Ar command
.Sh 解説
.Nm limits
はカーネルのリソース制限の表示および設定を行ないます。また、
.Xr env 1
のように環境変数を設定して、プログラムを選択したリソースで動作させるこ
ともできます。
.Nm limits
コマンドは以下の 3 通りの使い方ができます:
.Pp
.Bl -hang -width indent
.It Nm limits Op Ar limitflags
.Op Ar name=value
.Ar command
.Pp
この使い方では
.Ar limitflags
にしたがって制限をセットし、オプションで
.Ar name=value
のペアで与えられた環境変数をセットし、指定されたコマンドを実行します。
.It Nm limits Op Ar limitflags
.Pp
この使い方ではリソースの設定の値は実際には設定せずに、設定値を
.Ar limitflags
にしたがって決定し、標準出力に出力します。
デフォルトでは、呼び出しプロセスにおいて有効な
現在のカーネルのリソースの設定値を出力します。
.Fl C Ar class
や
.Fl U Ar user
フラグを使って、ログイン能力データベース
.Xr login.conf 5
で設定されている、ログインクラスのリソース制限エントリによって変更され
る現在のリソース設定を表示することもできます。
.It Nm limits Fl e Op Ar limitflags
.Pp
この使い方では
.Ar limitflags
にしたがってリソースの設定値を決定しますが、実際には設定は行ないません。
前の使い方のように、これらの設定値を標準出力しますが、
シェルをコールするのに都合の良いように
.Em eval
の形式で出力します。
コールされるシェルは、親プロセスの
.Pa /proc
ファイルシステム中のエントリを調べて決定されます。
もし、シェルが判明すると (すなわち sh, csh, bash, tcsh, ksh, pdksh, rc
のいずれか)、
.Nm limits
は 'limit' もしくは 'ulimit' コマンドをそのシェルが解釈できるフォーマットで
出力します。シェル名が決定できなかった場合は、
.Pa /bin/sh
によって使われる 'ulimit' 形式で出力します。
.Pp
これはスクリプトで制限を設定したり、
デーモンや他のバックグランドタスクを
リソースを制限して起動したりする場合に非常に便利な機能です。
また、ログインクラスデータベースを設定し中央データベースを保守することにより、
最大使用リソースをグローバルに設定することができるという利点があります。
.Pp
.Nm limits
は通常
シェルスクリプト中では次のようにバッククォーテーションに囲み評価するよ
うにして使われます。
.Pp
.Dl eval `limits -e -C daemon`
.Pp
これで
.Nm limits
の出力が評価され、現在のシェルで設定されます。
.El
.Pp
上記の中で指定された limitflags の値には以下のオプションのうちの
1 つ以上のものが含まれます:
.Pp
.Bl -tag -width "-d [limit]"
.It Fl C Ar class
現在のリソースの値をもとに、ログインクラス "class" で適用される
リソースエントリによって変更したものを使います。
.It Fl U Ar user
現在のリソースの値をもとに、"user" が属するログインクラスに適用される
リソースエントリによって変更したものを使います。
user がどのクラスにも属していない場合、"default" クラスが存在すればそ
のリソース能力が使用され、もしそのユーザがスーパユーザアカウントであれ
ば、"root" クラスが使用されます。
.It Fl S
リソースの "soft" (もしくは現在の) 制限を表示もしくは設定します。
このスイッチに続いて指定される制限の設定は、
.Fl H
や
.Fl B
フラグでオーバライドしない限り、soft リミットに対する設定となります。
.It Fl H
リソースの "hard" (もしくは最大の) 制限を表示もしくは設定します。
このスイッチに続いて指定される制限の設定は、
.Fl S
や
.Fl B
フラグでオーバライドしない限り、hard リミットに対する設定となります。
.It Fl B
リソースの "soft" (現在の) および "hard" (最大の) 制限を表示もしくは設
定します。
このスイッチに続いて指定される制限の設定は、
.Fl S
や
.Fl H
フラグでオーバライドしない限り、soft リミットおよび hard リミットの
両者に対する設定となります。
.It Fl e
出力を "eval mode" (評価モード) の書式にします。
これは表示モードでのみ有効であり、コマンドを実行するときには使えません。
出力に使用される正確なシンタックスは
.Nm limits
が起動されたシェルのタイプに依存します。
.It Fl c Op Ar limit
.Em coredumsize
のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。
値に 0 を指定するとコアダンプしないようになります。
.It Fl d Op Ar limit
.Em datasize
のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。
.It Fl f Op Ar limit
.Em filesize
のリソースの制限を選択もしくは設定します。
.It Fl l Op Ar limit
.Em memorylocked
のリソースの制限を選択もしくは設定します。
.It Fl m Op Ar limit
.Em memoryuse
のサイズの制限を選択もしくは設定します。
.It Fl n Op Ar limit
.Em openfiles
のリソースの制限を選択もしくは設定します。
.It Fl s Op Ar limit
.Em stacksize
のリソースの制限を選択もしくは設定します。
.It Fl t Op Ar limit
.Em cputime
のリソースの制限を選択もしくは設定します。
.It Fl u Op Ar limit
.Em maxproc
のリソースの制限を選択もしくは設定します。
.Pp
上記のフラグのセットにおける有効な 'limit' の値は、無限値 (もしくは
カーネルにおいて定義されている最大値) を設定する場合は文字列 'infinity' 
もしくは 'inf' を指定し、それ以外の場合は接尾子つきの数字を指定しま
す。サイズに関する値はデフォルトではバイトでの値となります。また以下の
接尾子の 1 つを付けることによってその単位となります。
.Pp
.Bl -tag -offset indent -width "xxxx" -compact
.It b
512 バイトブロック。
.It k
キロバイト (1024 バイト)。
.It m
メガバイト (1024*1024 バイト)。
.It g
ギガバイト。
.It t
テラバイト。
.El
.Pp
.Em cputime
リソースについてはデフォルトでは秒による値となります。
また以下の接尾子を付加することにより、それぞれの単位で指定可能です。
有効な複数の単位指定を並べると、その和を指定したことになります:
.Bl -tag -offset indent -width "xxxx" -compact
.It s
秒。
.It m
分。
.It h
時間。
.It d
日。
.It w
週。
.It y
年 (365 日)。
.El
.Pp
.It Fl E
.Sq Fl E
オプションを使用すると
.Nm limits
は継承している環境を完全に無視します。
.It Fl a
このオプションは特定のリソースの設定が指定されていても、
全てのリソースの設定を表示させます。
例えば、USENET ニュースシステムの立ち上げ時にコアダンプを無効にしたい
が、'news' アカウントに適用されるその他の全てのリソースの設定を行ない
たい場合は、次のように使います:
.Pp
.Dl eval `limits -U news -aBec 0`
.Pp
.Xr setrlimit 3
コールのように、スーパユーザのみが "hard" リソース制限を引き上げるこ
とができます。
root 以外のユーザはそれを引き下げるか、リソースの "soft" リミットを 
hard リミットの範囲で変更することができます。
プログラムを実行する場合、
.Nm limits
が hard リミットを引き上げようとすると、それは致命的エラーとして扱われ
ます。
.El
.Sh 診断
.Nm limits
はユーザが何らかの方法で誤使用をすると EXIT_FAILURE で終了します。誤
使用には不正なオプションを使用した場合や、同時に設定と表示のオプション
を指定した場合、または
.Fl e
がプログラムを起動する時に使われた場合などが含まれます。
表示モードもしくは評価モードにて実行されたとき、
.Nm limits
は EXIT_SUCCESS の終了ステータスで終了します。
コマンドモードで実行されコマンドの実行が成功したときには、終了ステータスは
実行されたプログラムが返すものになります。
.Sh 関連項目
.Xr csh 1 ,
.Xr env 1 ,
.Xr limit 1 ,
.Xr sh 1 ,
.Xr getrlimit 2 ,
.Xr setrlimit 2 ,
.Xr login_cap 3 ,
.Xr login.conf 5
.Sh バグ
明らかな理由により、
.Nm limits
は等号 (``='') がその名称に含まれるコマンドを扱うことができません。
.Pp
評価用の出力が選択された場合、シェルを正しく認識し、そのシェルにとって
出力が正しいシンタックスとなるためには、/proc ファイルシステムがインス
トールされマウントされていなければなりません。
デフォルトの出力は /bin/sh にとって有効なものとなります。そのため、
/proc マウント前に
.Nm limits
を使用できるのは、標準の bourne シェルスクリプト中でのみとなります。
.Pp
.Nm limits
は出力や表示するリソースの設定が現在のユーザで有効であるかや、設定可能
であるかについては確認を行ないません。スーパユーザアカウントのみが 
hard リミットを引き上げることができます。与えられた値が大きすぎる場合は 
FreeBSD カーネルは何も出力せずにその制限値を指定された値より低く設定
します。