[Cascavel-pm] Perl X RAM (memória)

Blabos de Blebe blabos em gmail.com
Quinta Janeiro 20 04:28:38 PST 2011


Puta merda!

Não é que se a gente não tomar cuidado bizonhice pega!

Aff...

2011/1/20 Alexei Znamensky <russoz em gmail.com>:
> Blabos
>
> 2011/1/20 Blabos de Blebe <blabos em gmail.com>
>>
>> Não foi o que você perguntou, mas considere:
>>
>> foo.pl:
>> #!/usr/bin/perl
>>
>> print $ARGV[0], $/;
>> `sleep 5`;
>
> aspas invertidas?? WTF?
> perldoc -f sleep
>
>>
>> ___
>>
>> perl -E 'while($i++ < 10){system("./foo.pl", $i)}'
>>
>> perldoc -f system:
>> Does exactly the same thing as exec LIST , except that a fork is done
>> first, and the parent process waits for the child process to exit.
>>
>>
>> Então não tem chamada parelela nenhuma acontecendo.
>>
>> Abraços
>>
>> 2011/1/20 Lindolfo Lorn Rodrigues <lorn.br em gmail.com>:
>> > Cara, usar system não é uma boa pratica para cada chamada no system ele
>> > vai
>> > carregar um bash para tratar o STDOUT que você manda para o /dev/null,
>> > eu
>> > recomendo você dar uma olhada no POE, ele é um sistema de 'threads' e
>> > você
>> > pode construir seu system dentro dele, e ele seria o seu "script chefe"
>> > porque ele foi feito para isso.
>> > E ele tem um cookbook http://poe.perl.org/?POE_Cookbook quando eu usei
>> > ele,
>> > eu peguei um cookbook ( receita de bolo ) que mais se parecia com o meu
>> > problema e mudei um pouco com o meu programa e etc. No seu caso parece
>> > que
>> > você que gerenciar
>> > processos http://poe.perl.org/?POE_Cookbook/Child_Component.
>> > Minha principal dica é, não use system faça seus programas Perl
>> > conversarem
>> > com eles mesmo usando IPC, TCP sei lá, o POE resolve tudo isso para você
>> > caso tenha alguma duvida pergunte ai, flw.
>> > 2011/1/20 Tom Mostard <capmostarda em gmail.com>
>> >>
>> >> Olá, pessoal!
>> >>
>> >> Estou tendo um problema de memória com scripts em Perl.
>> >> Alguém aí teve algum problema parecido?
>> >>
>> >> Tenho um "pequeno" sistema que precisa executar vários scripts Perl em
>> >> paralelo.
>> >> Então existe um script Perl "chefe" que fica responsável por executar
>> >> eles
>> >> com parâmetros diferentes usando system().
>> >>
>> >> O sistema acessa vários bancos de dados e a depender do banco, da
>> >> tabela e
>> >> do campo ele executa um módulo específico.
>> >> Uso o MySQL em outra máquina para não abusar da memória.
>> >>
>> >> Script-chefe:
>> >>
>> >> while ( my $i < $execucoes ) # são execuções limitadas, mas por
>> >> enquanto
>> >> são 60
>> >> {
>> >>     system( './script.pl $parametro1 > /dev/null & ' );
>> >> }
>> >>
>> >> Dentro do script é carregado um módulo usando require assim:
>> >>
>> >> require $ARGV[ 0 ].".pm";
>> >>
>> >> Funciona tudo certo, se rodo 20, funciona tudo normal e eles ocupam 158
>> >> MB
>> >> de memória.
>> >> Se rodo 40, eles ocupam 316 MB de memória além da memória usada pelo
>> >> sistema.
>> >> Me parece que cada script carregado usa 8 MB em média. (Isso é
>> >> possível/normal?)
>> >> Quando uso 60, nem todos os scripts são executados.
>> >> Existe alguma maneira de executar um script otimizando o uso de memória
>> >> ou
>> >> vou ter que reavaliar o código?
>> >> Já revisei o código e eliminei arrays, variáveis de conexões com bancos
>> >> desnecessárias.
>> >> Existe algo mais que eu possa fazer?
>> >>
>> >> Abraços,
>> >>
>> >> Tom
>> >>
>> >> _______________________________________________
>> >> Cascavel-pm mailing list
>> >> Cascavel-pm em pm.org
>> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >
>> >
>> >
>> > --
>> > lorn at lornlab dot org
>> > Lindolfo "Lorn" Rodrigues
>> >
>> >
>> > _______________________________________________
>> > Cascavel-pm mailing list
>> > Cascavel-pm em pm.org
>> > http://mail.pm.org/mailman/listinfo/cascavel-pm
>> >
>> _______________________________________________
>> Cascavel-pm mailing list
>> Cascavel-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>
>
> --
> Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com]
> [www.flickr.com/photos/alexeiz]
> «Only love / Can bring the rain / That makes you yearn to the sky»
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


Mais detalhes sobre a lista de discussão Cascavel-pm