Olá, pessoal!<br><br>Estou tendo um problema de memória com scripts em Perl.<br>Alguém aí teve algum problema parecido?<br><br>Tenho um &quot;pequeno&quot; sistema que precisa executar vários scripts Perl em paralelo.<br>Então existe um script Perl &quot;chefe&quot; que fica responsável por executar eles com parâmetros diferentes usando system().<br>
<br>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.<br>Uso o MySQL em outra máquina para não abusar da memória.<br>
<br>Script-chefe:<br><br>while ( my $i &lt; $execucoes ) # são execuções limitadas, mas por enquanto são 60<br>{<br>    system( &#39;./<a href="http://script.pl">script.pl</a> $parametro1 &gt; /dev/null &amp; &#39; );<br>

}<br><br>Dentro do script é carregado um módulo usando require assim:<br><br>require $ARGV[ 0 ].&quot;.pm&quot;;<br><br>Funciona tudo certo, se rodo 20, funciona tudo normal e eles ocupam 158 MB de memória.<br>Se rodo 40, eles ocupam 316 MB de memória além da memória usada pelo sistema.<br>

Me parece que cada script carregado usa 8 MB em média. (Isso é possível/normal?)<br>Quando uso 60, nem todos os scripts são executados.<br>Existe alguma maneira de executar um script otimizando o uso de memória ou<br>vou ter que reavaliar o código?<br>

Já revisei o código e eliminei arrays, variáveis de conexões com bancos desnecessárias.<br>Existe algo mais que eu possa fazer?<br><br>Abraços,<br><br>Tom<br>