(PHP 4, PHP 5)
posix_getrlimit — システムリソース制限に関する情報を返す
posix_getrlimit() は、 現在のリソースにおけるソフトリミットおよびハードリミットを配列で返します。
各リソースには、それぞれソフトリミットとハードリミットがあります。 ソフトリミットとは、そのリソースに対してカーネルが課す制限値のことです。 ハードリミットとは、ソフトリミットの上限値のことです。 特権を持たないプロセスは、ソフトリミットの値を 0 からハードリミット値の間で設定することが可能です。 また、ハードリミットの値を下げることができますが、 いったん下げた値を再び上げることはできません。
各リソースに関する制限値を含む連想配列を返します。 個々のリミット値には、ソフトリミットとハードリミットがあります。
制限の名前 | 制限についての説明 |
---|---|
core | コアファイルの最大サイズ。0 の場合はコアファイルを作成しません。 コアファイルのサイズがこの値を超えると、 このサイズまで切り詰められます。 |
totalmem | プロセスのメモリの最大サイズを表すバイト数。 |
virtualmem | プロセスの仮想メモリの最大サイズを表すバイト数。 |
data | プロセスのデータセグメントの最大サイズを表すバイト数。 |
stack | プロセスのスタックの最大サイズを表すバイト数。 |
rss | RAM 上の仮想ページの最大数。 |
maxproc | 呼び出し元のプロセスの実ユーザ ID で作成できるプロセスの最大数。 |
memlock | RAM 内にロックできるメモリの最大バイト数。 |
cpu | そのプロセスが使用できる CPU 時間。 |
filesize | そのプロセスが使用できるデータセグメントの最大サイズを表すバイト数。 |
openfiles | オープンできるファイル記述子の最大値よりひとつ大きい値。 |
例1 posix_getrlimit() の使用例
<?php
$limits = posix_getrlimit();
print_r($limits);
?>
上の例の出力は、 たとえば以下のようになります。
Array ( [soft core] => 0 [hard core] => unlimited [soft data] => unlimited [hard data] => unlimited [soft stack] => 8388608 [hard stack] => unlimited [soft totalmem] => unlimited [hard totalmem] => unlimited [soft rss] => unlimited [hard rss] => unlimited [soft maxproc] => unlimited [hard maxproc] => unlimited [soft memlock] => unlimited [hard memlock] => unlimited [soft cpu] => unlimited [hard cpu] => unlimited [soft filesize] => unlimited [hard filesize] => unlimited [soft openfiles] => 1024 [hard openfiles] => 1024 )
注意: この関数は POSIX 関数ではなく、BSD および System V のシステムで共通な関数です。 使用するシステムがこの関数をサポートしていない場合は、 PHP のコンパイル時にこの関数は組み込まれません。 この関数が使用可能かどうかを調べるには、function_exists() を使用します。