PHP Conference Nagoya 2025

posix_getrlimit

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getrlimitシステムリソース制限に関する情報を返す

説明

posix_getrlimit(?int $resource = null): array|false

posix_getrlimit() は、 現在のリソースにおけるソフトリミットおよびハードリミットを配列で返します。

各リソースには、それぞれソフトリミットとハードリミットがあります。 ソフトリミットとは、そのリソースに対してカーネルが課す制限値のことです。 ハードリミットとは、ソフトリミットの上限値のことです。 特権を持たないプロセスは、ソフトリミットの値を 0 からハードリミット値の間で設定することが可能です。 また、ハードリミットの値を下げることもできます。

パラメータ

resource

null の場合、全てのリソースリミットを取得します。 null でない場合、指定されたリソースタイプのリミットのみを返します。

戻り値

各リソースに関する制限値を含む連想配列を返します。 個々のリミット値には、ソフトリミットとハードリミットがあります。

返される制限の一覧
制限の名前 制限についての説明
core コアファイルの最大サイズ。0 の場合はコアファイルを作成しません。 コアファイルのサイズがこの値を超えると、 このサイズまで切り詰められます。
totalmem プロセスのメモリの最大サイズを表すバイト数。
virtualmem プロセスの仮想メモリの最大サイズを表すバイト数。
data プロセスのデータセグメントの最大サイズを表すバイト数。
stack プロセスのスタックの最大サイズを表すバイト数。
rss RAM 上の仮想ページの最大数。
maxproc 呼び出し元のプロセスの実ユーザー ID で作成できるプロセスの最大数。
memlock RAM 内にロックできるメモリの最大バイト数。
cpu そのプロセスが使用できる CPU 時間。
filesize そのプロセスが使用できるデータセグメントの最大サイズを表すバイト数。
openfiles オープンできるファイル記述子の最大値よりひとつ大きい値。
この関数は、失敗時に false を返します。

変更履歴

バージョン 説明
8.3.0 オプションの resource が追加されました。

例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
)

参考

  • man ページ GETRLIMIT(2)
  • posix_setrlimit() - システムリソース制限を設定

add a note

User Contributed Notes 1 note

up
-3
petert at tebault dot org
24 years ago
The array returned (on a RH6.2 box) is:
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 = 2048
hard maxproc = 2048
soft memlock = unlimited
hard memlock = unlimited
soft cpu = unlimited
hard cpu = unlimited
soft filesize = unlimited
hard filesize = unlimited
soft openfiles = 1024
hard openfiles = 1024
To Top