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

Renato Santos renato.cron em gmail.com
Quinta Janeiro 20 04:39:54 PST 2011


aki é beque-stick

2011/1/20 Blabos de Blebe <blabos em gmail.com>

> Aliás aqui no trabalho, os backticks (aspas invertidas, ou crase)
> foram apelidados de black chicks...
>
> 2011/1/20 Blabos de Blebe <blabos em gmail.com>:
> > 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
> >>
> >
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>



-- 
Renato Santos
http://www.renatocron.com/blog/
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20110120/32eb6b40/attachment.html>


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