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