+ Responder ao Tópico



  1. #1

    Padrão 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

    :?

  2. #2
    belvio
    Visitante

    Padrão Re: Tar corrempe ao acabar com memória.

    vou acompanhar este tópico.

  3. #3

    Padrão 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.

  4. #4
    belvio
    Visitante

    Padrã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.

  5. #5

    Padrão 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


  6. #6
    belvio
    Visitante

    Padrão 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.

  7. #7

    Padrão Re: Tar corrempe ao acabar com memória.

    Alguem tem alguma sugestão?