[Moscow.pm] moscow.pm

Матюхин Вячеслав me на berekuk.ru
Сб Июл 7 06:14:18 PDT 2012


Включил. Поглядел. DATA у пустого процесса занимает 600Кб, все равно более чем на два порядка больше, чем "4Кб".

Провел еще такой эксперимент:
mmcleric на mmcleric$ free -m | head -2 | tail -1 | awk '{print $3}'
12887
mmcleric на mmcleric$ perl -e 'for (1..1000) { fork and next; sleep 10000 }'
mmcleric на mmcleric$ free -m | head -2 | tail -1 | awk '{print $3}'
13524
mmcleric на mmcleric$ ps faux | grep perl | grep sleep | grep -v grep | Col 2 | xargs kill
mmcleric на mmcleric$ free -m | head -2 | tail -1 | awk '{print $3}'
12888

Как видно, 1000 процессов съедают ~600 мегабайт памяти.

Кстати, о copy-on-write можно говорить, только если все процессы порождены форками из одного перлового процесса.
Да и copy-on-write для данных в перле работает плохо, насколько я слышал (лень сейчас проверять), при каждом чтении из хеша делается запись в память.
Почему вы называете шаринг кода (насколько я вижу в man top, RSS = DATA + CODE) "копированием при записи", я не очень понимаю. Разве тут не другой механизм работает? Разве та часть, которая CODE, не read-only?

Еще не понимаю, почему в примере выше не сработал настоящий copy-on-write. Кто-нибудь может объяснить?

07.07.2012, 16:42, "Ivan Petrov" <i.petro.77.00 на gmail.com>:
>>>  а вот скрипты того же вида что и на баше пишутся "посмотреть есть ли
>>>  файлы там-то, взять допнастройки из файлов тут-то, скопировать это
>>>  оттуда сюда и запустить затем то-то" на перле занимают либо столько же
>>>  памяти либо меньше чем баш. при этом не делая тысячи форков на каждый
>>>  чих, поскольку на перле нафиг не надо собирать цепочки из grep/awk/sed
>>  Да я и не спорю, собственно, что на перле удобнее писать консольные утилиты, чем на bash'е, и ничуть не медленнее.
>>  Просто ваше изначальное утверждение про 4Кб ошибочно на 3 порядка.
>>  Mojolicious не использую :)
>
> дык ведь то что лежит вне этих 4Кб по сути дела делится между всеми
> инстансами (копирование при записи). включите столбик DATA в вашем top
> и поглядите
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org


Подробная информация о списке рассылки Moscow-pm