Tar corrempe ao acabar com memória.
Fala Linuxers :lol:
Blzinha irmãos?! espero que sim.
Vamos lá, estou com uma dúvida cruel aqui.
Olhem só.
Vou passar algumas informações do meu sistema antes:
Slackware 10.2
Kernel 2.6.10
tar-1.15.1
cat /proc/meninfo
MemTotal: 906108 kB
MemFree: 654580 kB
Buffers: 26288 kB
Cached: 146628 kB
SwapCached: 52096 kB
Active: 80616 kB
Inactive: 149400 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 906108 kB
LowFree: 654580 kB
SwapTotal: 489972 kB
SwapFree: 280380 kB
Dirty: 12 kB
Writeback: 0 kB
Mapped: 30748 kB
Slab: 12800 kB
CommitLimit: 943024 kB
Committed_AS: 348728 kB
PageTables: 1104 kB
VmallocTotal: 122836 kB
VmallocUsed: 5500 kB
VmallocChunk: 117184 kB
cat /proc/swaps
Filename Type Size Used Priority
/dev/hda2 partition 489972 209592 -2
Caso eu tenha me esquecido de algo, por favor perguntem...
Parece uma pergunta boba, mas vamos lá, pois tenho dúvida e não sei como encontrar uma resposta."man" "help" "google"
Tenho um script para efetuar backup, ele utiliza o tar e efetua backup de alguns diretórios meus, esses arquivos backpeados tem mais ou menos 3GB, porem após 1 min mais ou mesnos ao processo começar ele consome toda minha RAM, que não é pouca 1GB e acaba tambem com minha SWAP 512MB, após ele acabar com minha memória ele corrompe o arquivo que está em processo, assim inutilizando o arquivo de backup... =/
Alguem sabe como limitar o uso da mémoria para o tar?
Gostaria de usar a ferramenta tar mesmo, pois meu script verifica a integridade do arquivo de backup com o comando tar -tf arquivo.tgz.
Juntando o util ao agrádavel, gostaria de tirar outra dúvida:
Quando verifico meus recursos de memória em /proc/meninfo
Ele me aponta que eu possuo: HighTotal: 0 kB.
O meu HighTotal não era para ser a soma da minha memória swap + física ???
É isso, fico no aguardo.
abraços
:?
Re: Tar corrempe ao acabar com memória.
vou acompanhar este tópico.
Re: Tar corrempe ao acabar com memória.
Belvio :wink:
Caracas é uma coisa sinistra o que estta acontecendo aqui.
vamos lá.
Essa máquina é responsável por um repositório cvs, e por algum motivo existe um diretório estranho ou melhor quase indescritivel chamado ERRO:
olhem isso:
ls -la
total 6
drwxrwxr-x 3 cvs cvs 96 2006-02-21 19:38 ./
drwxrwxr-x 9 cvs cvs 280 2006-02-21 19:37 ../
drwxrwxrwx 2 root root 176 2006-02-21 19:36 ERRO/
root@application:/usr/local/repositorios/cvsroot/teste#
vamos listar ERRO:
ls -la ERRO/
total 1
drwxrwxrwx 2 root root 176 2006-02-21 19:36 ./
drwxrwxr-x 3 cvs cvs 96 2006-02-21 19:38 ../
-rw-r--r-- 1 root root 0 2006-02-21 19:36 Geral.sql,v
-rw-r--r-- 1 root root 0 2006-02-21 19:36 Geral.sql,v
-rw-r--r-- 1 root root 0 2006-02-21 19:36 populate2.sql,v
-rw-r--r-- 1 root root 0 2006-02-21 19:36 populate2.sql,v
Simples até aqui??
pwd
/usr/local/repositorios/cvsroot/teste
OK, vou tentar remover ERRO!
rm -rf ERRO/
rm: cannot remove directory `ERRO/': Directory not empty
Não está vasil??? pera ai mais eu usei a opção -r do rm.
caramba, vou listar esse diretório para ver o que sobrou ali dentro:
ls -la ERRO/
/usr/bin/ls: ERRO/populate2.sql,v: No such file or directory
/usr/bin/ls: ERRO/Geral.sql,v: No such file or directory
/usr/bin/ls: ERRO/populate2.sql,v: No such file or directory
/usr/bin/ls: ERRO/Geral.sql,v: No such file or directory
/usr/bin/ls: ERRO/populate2.sql,v: No such file or directory
/usr/bin/ls: ERRO/Geral.sql,v: No such file or directory
/usr/bin/ls: ERRO/populate2.sql,v: No such file or directory
/usr/bin/ls: ERRO/Geral.sql,v: No such file or directory
/usr/bin/ls: ERRO/populate2.sql,v: No such file or directory
/usr/bin/ls: ERRO/Geral.sql,v: No such file or directory
/usr/bin/ls: ERRO/populate2.sql,v: No such file or directory
/usr/bin/ls: ERRO/Geral.sql,v: No such file or directory
/usr/bin/ls: ERRO/populate2.sql,v: No such file or directory
/usr/bin/ls: ERRO/Geral.sql,v: No such file or directory
/usr/bin/ls: ERRO/populate2.sql,v: No such file or directory
Isso não para até eu dar um ctrl+c, ou meu bash fechar!
querem dar uma olhada no top enquanto isso acontece ?
resumindo, ele utiliza 99% de processamento, começa a consumir minha memória fisica, passa para a memória virtual e.....killa o processo que está executando um ls, no caso o SSH, poderia ser um tar, um tty um updatedb ou qualquer outro processo que acesse esse maldito dir!
Reiserfsck = sem erros
badblocks = sem erros..
como posso verificar o cabeçalho desse dir? alguem sabe?
OBS: consigo mover esse diretório olhem:
mv ERRO/ ERRO2
root@application:/usr/local/repositorios/cvsroot/teste# ls -al
total 6
drwxrwxr-x 3 cvs cvs 96 2006-02-24 16:56 ./
drwxrwxr-x 9 cvs cvs 280 2006-02-21 19:37 ../
drwxrwxrwx 2 root root 112 2006-02-24 16:50 ERRO2/
root@application:/usr/local/repositorios/cvsroot/teste#
porem, vou tentar move-lo para /tmp/ por exemplo:
mv ERRO2 /tmp/
Caso eu não aborte, 99% 100% memória e kill no bash a executar o mv.
Estranho?
muito.
afff problemão.
Re: Tar corrempe ao acabar com memória.
Major vamos lá, sistemas de arquivos ext2 e ext3 temos a possibilidade de utilizar atributos especias utilizando o comando chattr e visualizar estes atributos com o comando lsattr, onde podemos tornar arquivos imutáveis e mais uma porção de opções, em sistemas Reiserfsck se não me engando também podemos fazer uso destes mesmos atributos especiais só não sei como fazer uso neste sistema de arquivo. Outra coisa, já aconteceu comigo de um nome de arquivo conter caracteres especiais que não conseguimos visualizar com ls -la, tenta usar ls -b e ver no que dá, foi assim que consegui visualizar o nome correto do arquivo blz, agora quanto ao consumo de memória e cpu não tenho ideia do que seja mas vou pesquisar tb, caso já tenha solucionado posta aki pra gente blz.
Re: Tar corrempe ao acabar com memória.
Opa :-D
ls -b
ERRO/
consigo mover o diretorio sem problemas, então acho que não é uma questão de caracter.....
Ainda não está resolvido, vou dar mais uma pesquisada abraços manow.
lsattr ERRO/
------------- ERRO/populate2.sql,v
------------- ERRO/Geral.sql,v
------------- ERRO/populate2.sql,v
------------- ERRO/Geral.sql,v
Re: Tar corrempe ao acabar com memória.
olha só o comando lsattr é para sistemas ext2 e ext3 para Reiser vc provavelmente tera que usar outro comando.
Re: Tar corrempe ao acabar com memória.
Alguem tem alguma sugestão?