Erro de exaustão de memória

3

Estou com erro relacionado à memória quando tento dividir um arquivo grande em arquivos de 8 GB.

# split -C 8000000000 r_mini_20120503.txt  
split: memory exhausted

No entanto, sou capaz de criar arquivos de 4GB usando o mesmo comando. Existe alguma maneira de aumentar a memória para esse fim?

    
por shantanuo 14.05.2012 / 11:56

3 respostas

3

Talvez split seja a ferramenta um pouco errada para essa tarefa. Você pode experimentá-lo com dd (não testado):

infile=r_mini_20120503.txt
filesize=1234567890 # manual set
skip=0
chunk=8000000000
bs=1000000000
count=8
part=1

while [ $skip -lt $filesize ] ; do
    dd if=$infile of=$infile.$part bs=$bs count=$count skip=$skip
    skip=[[ $skip + $chunk ]]
    part=[[ $part + 1 ]]
done

Como escrevi, não foi testado.

    
por 14.05.2012 / 12:55
0

Eu diria que você está tentando usar mais memória do que no seu sistema.
Você poderia fazer isso no modo Single User, então há menos serviços e outras coisas (como X e GDM) rodando.

Para isso, execute telinit 1

OU .. Instale mais RAM. É barato.

    
por 14.05.2012 / 12:28
0

Quanta memória RAM está na sua caixa? Você pode adicionar mais algumas trocas ao seu sistema por enquanto, mas isso será lento: P

    
por 14.05.2012 / 12:46

Tags