posix_getrlimit
(PHP 4, PHP 5, PHP 7, PHP 8)
posix_getrlimit — システムリソース制限に関する情報を返す
説明
各リソースには、それぞれソフトリミットとハードリミットがあります。
ソフトリミットとは、そのリソースに対してカーネルが課す制限値のことです。
ハードリミットとは、ソフトリミットの上限値のことです。
特権を持たないプロセスは、ソフトリミットの値を 0 からハードリミット値の間で設定することが可能です。
また、ハードリミットの値を下げることもできます。
パラメータ
-
resource
-
null
の場合、全てのリソースリミットを取得します。
null
でない場合、指定されたリソースタイプのリミットのみを返します。
戻り値
各リソースに関する制限値を含む連想配列を返します。
個々のリミット値には、ソフトリミットとハードリミットがあります。
返される制限の一覧
制限の名前 |
制限についての説明 |
core |
コアファイルの最大サイズ。0 の場合はコアファイルを作成しません。
コアファイルのサイズがこの値を超えると、
このサイズまで切り詰められます。
|
totalmem |
プロセスのメモリの最大サイズを表すバイト数。
|
virtualmem |
プロセスの仮想メモリの最大サイズを表すバイト数。
|
data |
プロセスのデータセグメントの最大サイズを表すバイト数。
|
stack |
プロセスのスタックの最大サイズを表すバイト数。
|
rss |
RAM 上の仮想ページの最大数。
|
maxproc |
呼び出し元のプロセスの実ユーザー ID で作成できるプロセスの最大数。
|
memlock |
RAM 内にロックできるメモリの最大バイト数。
|
cpu |
そのプロセスが使用できる CPU 時間。
|
filesize |
そのプロセスが使用できるデータセグメントの最大サイズを表すバイト数。
|
openfiles |
オープンできるファイル記述子の最大値よりひとつ大きい値。
|
この関数は、失敗時に
false
を返します。
例
例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
)