I'm very pleased to announce the release of our new website and documentation using the new toolchain with Hugo and AsciiDoctor. To get more information about the new toolchain please read the FreeBSD Documentation Project Primer[1], Hugo docs[2] and AsciiDoctor docs[3]. Acknowledgment: Benedict Reuschling <bcr@> Glen Barber <gjb@> Hiroki Sato <hrs@> Li-Wen Hsu <lwhsu@> Sean Chittenden <seanc@> The FreeBSD Foundation [1] https://docs.FreeBSD.org/en/books/fdp-primer/ [2] https://gohugo.io/documentation/ [3] https://docs.asciidoctor.org/home/ Approved by: doceng, core
122 lines
4.2 KiB
Groff
122 lines
4.2 KiB
Groff
.\" Copyright (c) 1980, 1991, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, 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. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)vlimit.3 8.1 (Berkeley) 6/4/93
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd June 4, 1993
|
|
.Dt VLIMIT 3
|
|
.Os BSD 4
|
|
.Sh 名称
|
|
.Nm vlimit
|
|
.Nd システムリソース消費の最大値を制御
|
|
.Sh 書式
|
|
.Fd #include <sys/vlimit.h>
|
|
.Fn vlimit resource value
|
|
.Sh 解説
|
|
.Bf -symbolic
|
|
このインタフェースは、getrlimit(2) によって置き換えられました。
|
|
この関数は、互換性ライブラリ、libcompat から使用できます。
|
|
.Ef
|
|
.Pp
|
|
現在のプロセスおよびそれが作成する各プロセスによる個別の消費量が、
|
|
指定された
|
|
.Fa resource
|
|
について
|
|
.Fa value
|
|
を超えないように制限します。
|
|
.Fa value
|
|
が \-1 に指定されている場合は、現在の限界値が返され、
|
|
限界値は変更されません。
|
|
現在のところ制御可能なリソースは次の通りです。
|
|
.Bl -tag -width LIM_NORAISE
|
|
.It Dv LIM_NORAISE
|
|
擬似限界値。非ゼロの値に設定しても、限界値は引き上げられない場合があります。
|
|
.Em noraise
|
|
制限を削除することができるのは、スーパユーザのみです。
|
|
.It Dv LIM_CPU
|
|
各プロセスが使用する cpu 秒の最大数。
|
|
.It Dv LIM_FSIZE
|
|
作成できる最大の単一ファイル。
|
|
.It Dv LIM_DATA
|
|
.Xr sbrk 2
|
|
による data+stack 領域の
|
|
プログラムテキストの終わりを超えた最大成長度。
|
|
.It Dv LIM_STACK
|
|
自動的に拡張されたスタック領域の最大サイズ。
|
|
.It Dv LIM_CORE
|
|
作成される最大のコアダンプのサイズ。
|
|
.It Dv LIM_MAXRSS
|
|
プログラムに割り当てられる物理的メモリ量(バイト)の
|
|
ソフト限界値。メモリが不足する場合は、システムは宣言した
|
|
.Dv LIM_MAXRSS
|
|
を超えているプロセスからメモリを取り上げます。
|
|
.El
|
|
.Pp
|
|
この情報はプロセス毎の情報に保存されているので、このシステムコールを
|
|
シェルにより将来作成されるすべてのプロセスに対して有効にするためには、
|
|
シェルによって直接実行する必要があります。従って、
|
|
.Xr limit
|
|
は
|
|
.Xr csh 1
|
|
の組み込みコマンドです。
|
|
.Pp
|
|
通常のやり方では制限値を超えてしまう場合は、システムはデータまたは
|
|
スタックスペースの拡張を拒否します。データスペース制限値に達した場合に
|
|
.Xr brk 2
|
|
コールが失敗したり、スタック制限値に達した場合はそのプロセスは
|
|
中止されます(スタックを拡張できないので、シグナルを送る方法がありません!)。
|
|
.Pp
|
|
大きすぎるファイルを作成するようなファイル
|
|
.Tn I/O
|
|
操作を行うと、シグナル
|
|
.Dv SIGXFSZ
|
|
が生成されますが、これは通常はプロセスを終了させますが、
|
|
捕捉できる場合もあります。
|
|
cpu 時間の制限値を超えた場合は、シグナル
|
|
.Dv SIGXFSZ
|
|
が違反している
|
|
プロセスに送られます。そのシグナルを処理する時間を許すために、
|
|
.Tn CPU
|
|
時間制限値を上げることにより
|
|
5 秒間の猶予がプロセスに与えられます。
|
|
.Sh 参照
|
|
.Xr csh 1
|
|
.Sh 歴史
|
|
.Fn vlimit
|
|
関数は、
|
|
.Bx 4.2
|
|
に現れました。
|
|
.Sh バグ
|
|
.Dv LIM_NORAISE
|
|
はもはや存在しません。
|
|
|
|
この関数は、未だに再実装されていません。
|