(PHP 4, PHP 5, PHP 7)
posix_getrlimit — Возвращает информацию об ограничениях системных ресурсов
posix_getrlimit() возвращает array с информацией о текущих мягких и жестких ограничениях системных ресурсов.
С каждым ресурсом ассоциированы свои мягкие и жесткие ограничения. Мягкие ограничения - это величина, которую ядро обещает обеспечить ресурсу. Жесткие ограничения - это величина, характеризующая потолок мягких ресурсов. Непривилегированный процесс может управлять только своими мягкими ограничениями, выставляя их от 0 до величины жесткого ограничения.
Возвращает ассоциативный array, каждый элемент которого соответствует определенному ограничению. Каждый лимит имеет мягкое и жесткое ограничения.
| Ограничение | Описание ограничения |
|---|---|
| core | Максимальный размер системного файла. В случае некорректного завершения программы, операционная система завершает этот процесс и создает системный файл с дампом состояния программы, чтобы программисты могли разобраться в причинах произошедшего. Если данное ограничение установлено в 0, то системные файлы не создаются. Если размер системного файла превышает этот предел, то он обрезается до указанного размера. |
| totalmem | Максимальный размер памяти, доступной процессу, в байтах. |
| virtualmem | Максимальный размер виртуальной памяти, доступной процессу, в байтах. |
| data | Максимальный размер сегмента данных для процесса, в байтах. |
| stack | Максимальный размер стека процесса в байтах. |
| rss | Максимальное количество виртуальных страниц в оперативной памяти |
| 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
)