zip está falhando durante o uso de alta memória

1

Temos vários scripts perl, que geram e enviam relatórios por e-mail. O script que envia os arquivos por e-mail espera uma extensão .zip . Os scripts de relatório geram um arquivo .txt ou .xls e, em seguida, executam o seguinte comando zip :

print 'zip -m $zip_filename $output_filename';

O que está acontecendo é que, em alguns casos (normalmente, quando o script perl usa muita memória), o comando acima falha. De que eu recolhi o script falhar, porque não há memória suficiente para executar o comando zip . Este é um problema esporádico e um pouco difícil de definir.

Eu tenho que gerar arquivos .zip e não posso usar um método de compactação diferente.

Eu estava esperando que alguém pudesse me dizer o que está acontecendo aqui. Estou suspeitando que o sinalizador -m possa estar causando isso.

O que é estranho para mim é que eu executei manualmente o comando zip de bash várias vezes, e ele nunca falhou, mesmo usando muita memória.

Aqui está o resultado de um comando free para dar uma idéia de quanta memória eu estou falando. Os scripts de relatório podem ocasionalmente usar mais de 10 GB de memória:

-bash-4.1$ free
             total       used       free     shared    buffers     cached
Mem:      49409336   48948192     461144          0    1184716    8147564
-/+ buffers/cache:   39615912    9793424
Swap:      2047992    2047988          4

$output_filename pode ser um padrão correspondente a mais de um arquivo.

    
por Smartelf 09.07.2014 / 16:13

0 respostas

Tags