ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— posix_setrlimit()

ЗауваТСння :

Π‘ΡƒΠ΄ΡŒ ласка, Π·Π²Π΅Ρ€Π½Ρ–Ρ‚ΡŒ ΡƒΠ²Π°Π³Ρƒ, Ρ‰ΠΎ дСякі Π· Ρ†ΠΈΡ… констант ΠΌΠΎΠΆΡƒΡ‚ΡŒ Π±ΡƒΡ‚ΠΈ нСдоступні Ρƒ Π²Π°ΡˆΡ–ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†Ρ–ΠΉΠ½Ρ–ΠΉ систСмі.

ЗауваТСння :

На Π΄ΠΎΠ΄Π°Ρ‚ΠΎΠΊ Π΄ΠΎ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΡ— Π½ΠΈΠΆΡ‡Π΅ Ρ–Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†Ρ–Ρ— ΠΌΠΎΠΆΠ½Π° Π²ΠΈΠ²Ρ‡ΠΈΡ‚ΠΈ Ρ€ΠΎΠ·Π΄Ρ–Π» ΠΊΠ΅Ρ€Ρ–Π²Π½ΠΈΡ†Ρ‚Π²Π° Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— setrlimit() для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΡ— ΠΎΠΏΠ΅Ρ€Π°Ρ†Ρ–ΠΉΠ½ΠΎΡ— систСми, Ρ‚ΠΎΠΌΡƒ Ρ‰ΠΎ Ρ–ΡΠ½ΡƒΡŽΡ‚ΡŒ відмінності Π² Ρ‚ΠΎΠΌΡƒ, як Ρ†Ρ– обмСТСння Ρ–Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΡƒΡŽΡ‚ΡŒΡΡ Π½Π°Π²Ρ–Ρ‚ΡŒ Ρƒ систСмах, які Π·Π°ΡΠ²Π»ΡΡŽΡ‚ΡŒ ΠΏΡ€ΠΎ ΠΏΠΎΠ²Π½Ρƒ Ρ€Π΅Π°Π»Ρ–Π·Π°Ρ†Ρ–ΡŽ POSIX.

POSIX_RLIMIT_AS(int)

Максимальний Ρ€ΠΎΠ·ΠΌΡ–Ρ€ адрСсного простору процСсу Ρƒ Π±Π°ΠΉΡ‚Π°Ρ…. Π’Π°ΠΊΠΎΠΆ Π΄ΠΈΠ²Ρ–Ρ‚ΡŒΡΡ ΠΊΠΎΠ½Ρ„Ρ–Π³ΡƒΡ€Π°Ρ†Ρ–ΠΉΠ½Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ memory_limit

POSIX_RLIMIT_CORE(int)

Максимальний Ρ€ΠΎΠ·ΠΌΡ–Ρ€ Ρ„Π°ΠΉΠ»Ρƒ Π΄Π°ΠΌΠΏΠ° ядра. Π―ΠΊΡ‰ΠΎ Ρ†Π΅ обмСТСння встановлСно як 0, Ρ„Π°ΠΉΠ» Π΄Π°ΠΌΠΏΠ° ядра ΡΡ‚Π²ΠΎΡ€ΡŽΠ²Π°Ρ‚ΠΈΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅.

POSIX_RLIMIT_CPU(int)

Максимальна ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ процСсорного часу Π² сСкундах ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ використана процСсом. Коли Π΄ΠΎΡΡΠ³Π°Ρ”Ρ‚ΡŒΡΡ ΠΌ'якС обмСТСння, процСсу Π±ΡƒΠ΄Π΅ надіслано сигнал SIGXCPU, який ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ ΠΎΠ±Ρ€ΠΎΠ±Π»Π΅Π½ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ”ΡŽ pcntl_signal(). Π—Π°Π»Π΅ΠΆΠ½ΠΎ Π²Ρ–Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†Ρ–ΠΉΠ½ΠΎΡ— систСми, ΠΌΠΎΠΆΠ΅ Ρ‰ΠΎΠΌΠΈΡ‚Ρ– посилатися Π΄ΠΎΠ΄Π°Ρ‚ΠΊΠΎΠ²ΠΈΠΉ сигнал SIGXCPU, ΠΏΠΎΠΊΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅ досягнуто Торсткої ΠΌΠ΅ΠΆΡ–, досягнСння якої Π½Π΅ ΠΌΠΎΠΆΠ½Π° ΠΎΠ±Ρ€ΠΎΠ±ΠΈΡ‚ΠΈ. ΠŸΡ€ΠΎΡ†Π΅ΡΡƒ Π±ΡƒΠ΄Π΅ надіслано сигнал SIGKILLΠ‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈset_time_limit()

POSIX_RLIMIT_DATA(int)

Максимальний Ρ€ΠΎΠ·ΠΌΡ–Ρ€ сСгмСнта Π΄Π°Π½ΠΈΡ… процСсу Ρƒ Π±Π°ΠΉΡ‚Π°Ρ…. Π’ΠΊΡ€Π°ΠΉ ΠΌΠ°Π»ΠΎΠΉΠΌΠΎΠ²Ρ–Ρ€Π½ΠΎ, Ρ‰ΠΎ Ρ†Π΅ обмСТСння Π²ΠΏΠ»ΠΈΠ²Π°Ρ‚ΠΈΠΌΠ΅ Π½Π° виконання PHP, Π·Π° винятком ΠΌΠΎΠ΄ΡƒΠ»Ρ–Π², Ρ‰ΠΎ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡŽΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— brk() Π°Π±ΠΎ sbrk()

POSIX_RLIMIT_FSIZE(int)

Максимальний Ρ€ΠΎΠ·ΠΌΡ–Ρ€ Ρ„Π°ΠΉΠ»Ρ–Π² Ρƒ Π±Π°ΠΉΡ‚Π°Ρ…, які ΠΌΠΎΠΆΡƒΡ‚ΡŒ Π±ΡƒΡ‚ΠΈ створСні процСсом.

POSIX_RLIMIT_LOCKS(int)

Максимальна ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΡƒΠ²Π°Π½ΡŒ, яку Ρ†Π΅ΠΉ процСс ΠΌΠΎΠΆΠ΅ створити. Π¦Π΅ ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΡƒΡ”Ρ‚ΡŒΡΡ лишС Π½Π° Π΄ΡƒΠΆΠ΅ старих ядрах Linux.

POSIX_RLIMIT_MEMLOCK(int)

Максимальна ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ Π±Π°ΠΉΡ‚, яка ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΎΠ²Π°Π½Π° Ρƒ ΠΏΠ°ΠΌ'яті.

POSIX_RLIMIT_MSGQUEUE(int)

Максимальна ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ Π±Π°ΠΉΡ‚, яка ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ Π²ΠΈΠ΄Ρ–Π»Π΅Π½Π° ΠΏΡ–Π΄ Ρ‡Π΅Ρ€Π³Ρƒ ΠΏΠΎΠ²Ρ–Π΄ΠΎΠΌΠ»Π΅Π½ΡŒ POSIX. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Π° Π·Π±Ρ–Ρ€ΠΊΠ° PHP Π½Π΅ ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΡƒΡ” POSIX Ρ‡Π΅Ρ€Π³Ρƒ ΠΏΠΎΠ²Ρ–Π΄ΠΎΠΌΠ»Π΅Π½ΡŒ, Ρ‚ΠΎΠΌΡƒ Ρ†Π΅ обмСТСння Π½Π΅ ΠΌΠ°Ρ‚ΠΈΠΌΠ΅ ΠΆΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΅Ρ„Π΅ΠΊΡ‚Ρƒ, ΠΊΡ€Ρ–ΠΌ Π²ΠΈΠΏΠ°Π΄ΠΊΡ–Π², ΠΊΠΎΠ»ΠΈ Π²ΠΈ використовуєтС ΠΌΠΎΠ΄ΡƒΠ»Ρ–, які Π·Π°Π±Π΅Π·ΠΏΠ΅Ρ‡ΡƒΡŽΡ‚ΡŒ Ρ†ΡŽ ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΠΊΡƒ.

POSIX_RLIMIT_NICE(int)

МаксимальнС значСння, ΠΏΡ€Ρ–ΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΠ»Π°Π½ΡƒΠ²Π°Π»ΡŒΠ½ΠΈΠΊΠ° процСсів, якС ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ встановлСно. ΠŸΡ–Π΄ΡΡƒΠΌΠΊΠΎΠ²Π΅ значСння ΠΎΠ±Ρ‡ΠΈΡΠ»ΡŽΡ”Ρ‚ΡŒΡΡ як 20 - limit. Π―ΠΊ обмСТСння рСсурсу значСння ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΈΠΌ.

POSIX_RLIMIT_NOFILE(int)

ЗначСння, Ρ‰ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΈΡ‰ΡƒΡ” 1, максимальна ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈΡ… дСскрипторів, яку ΠΌΠΎΠΆΠ½Π° Π²Ρ–Π΄ΠΊΡ€ΠΈΡ‚ΠΈ процСсом.

POSIX_RLIMIT_NPROC(int)

Максимальна ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ процСсів (Ρ–/Π°Π±ΠΎ Π½ΠΈΡ‚ΠΎΠΊ, Π·Π°Π»Π΅ΠΆΠ½ΠΎ Π²Ρ–Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†Ρ–ΠΉΠ½ΠΎΡ— систСми), яка ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ створСна для Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ користувача процСсу.

POSIX_RLIMIT_RSS(int)

Максимальний Ρ€ΠΎΠ·ΠΌΡ–Ρ€ Ρ„Ρ–Π·ΠΈΡ‡Π½ΠΎΡ— ΠΏΠ°ΠΌ'яті (RAM), Ρ‰ΠΎ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ”Ρ‚ΡŒΡΡ ΠΊΠΎΠ΄ΠΎΠΌ процСсу Ρ‚Π° Π΄Π°Π½ΠΈΠΌΠΈ, Ρƒ сторінках.

POSIX_RLIMIT_RTPRIO(int)

Максимальний ΠΏΡ€Ρ–ΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ часу, який ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ встановлСний систСмними Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΠΉ sched_setscheduler() Ρ– sched_setparam()

POSIX_RLIMIT_RTTIME(int)

Максимальна ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ процСсорного часу Π² мілісСкундах, яку ΠΌΠΎΠΆΠ΅ Π·Π°ΠΉΠΌΠ°Ρ‚ΠΈ Π±Π΅Π· блокування систСмних Π²ΠΈΠΊΠ»ΠΈΠΊΡ–Π² ΠΏΡ€ΠΈ використанні ΠΏΠ»Π°Π½ΡƒΠ²Π°Π»ΡŒΠ½ΠΈΠΊΠ° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ часу.

POSIX_RLIMIT_SIGPENDING(int)

Максимальна ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ сигналів, які ΠΌΠΎΠΆΠ½Π° поставити Π² Ρ‡Π΅Ρ€Π³Ρƒ для Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ користувача Ρ†ΡŒΠΎΠ³ΠΎ процСсу.

POSIX_RLIMIT_STACK(int)

Максимальний Ρ€ΠΎΠ·ΠΌΡ–Ρ€ стСка процСсу Ρƒ Π±Π°ΠΉΡ‚Π°Ρ….

POSIX_RLIMIT_INFINITY(int)

Π’ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ”Ρ‚ΡŒΡΡ для відобраТСння нСскінчСнного обмСТСння рСсурсу.

POSIX_RLIMIT_KQUEUES(int)

Максимальна ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ kqueue, яку ΠΌΠΎΠΆΠ΅ створити Ρ†Π΅ΠΉ Ρ–Π΄Π΅Π½Ρ‚ΠΈΡ„Ρ–ΠΊΠ°Ρ‚ΠΎΡ€ користувача (FreeBSD). Доступно Π· PHP 8.1.0.

POSIX_RLIMIT_NPTS(int)

Максимальна ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ псСвдотСрміналів ΠΌΠΎΠΆΠ΅ створити Ρ†Π΅ΠΉ Ρ–Π΄Π΅Π½Ρ‚ΠΈΡ„Ρ–ΠΊΠ°Ρ‚ΠΎΡ€ користувача (FreeBSD). Доступно Π· PHP 8.1.0.