LINUX.ORG.RU

PHP запускает 4 дочерних процесса

 ,


0

2

Если включить модуль zeromq, то каждый процесс php создает ещё 2 процесса дочерних.


sudo -u www-data php -r 'sleep(999);'

htop -u www-data


Вывод htop
http://prntscr.com/aemixc

Не хотелось бы, чтобы память отжирало эти 2 процесса по 140 мегов

★★★★

Не хотелось бы, чтобы память отжирало эти 2 процесса по 140 мегов

Для начала почитайте что такое виртуальная память.

ThisNameWasFree
()

>проблемы типичного php-кодера

1С — твой выбор

anonymous
()
Ответ на: комментарий от ThisNameWasFree

Да, память не суммируется, сделал простой тест, который запускает 10 форков по по 1GB памяти. В htop написано что каждый форк RES=1050MB, но в целом система 1500MB ест. Хотя по идее если суммировать все форки, должно быть 10GB занимать...

<?php
$childs = [];

$int = fopen("/dev/urandom", 'r');
$size = 0; $i =0; $buff = "";
while($i < 10){
    $buff .= fread($int, 1024 * 1024 * 100 );
    $i++;
}

echo "Size: ".strlen($buff)."\n";

for($i =0; $i < 10; $i++){

    $pid = pcntl_fork();

    if($pid == -1){

    }elseif($pid){
        $childs[] = $pid;
    }else{
        sleep(100);
        exit;
    }

}
sleep(999);

Вывод htop -u www-data
http://prntscr.com/aemq0b

gobot ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.