Evita que o e2fsck fique sem memória?

1

Eu tenho uma caixa rodando o Ubuntu 11.10 com 512MB de RAM e sem swap. Tem um HDD USB de 1 TB com sistema de arquivos ext3 conectado. Sentado ocioso, está usando apenas 60MB. Quando eu executo o e2fsck, ele fica sem memória, o killer da OOM entra em ação e o e2fsck morre.

Existe algum truque para executar o e2fsck para que ele use menos memória?

eu corri:

sudo e2fsck -n /dev/sdb1

[Por favor, não me diga para ativar a troca ou adicionar memória - eu não posso ativar a troca, e adicionar memória é a correção óbvia a longo prazo. Eu gostaria de uma maneira de executar o fsck agora.]

    
por bstpierre 30.11.2011 / 19:08

2 respostas

2

Não tenho certeza de qual versão do e2utils Ubuntu 11.10 tem, no entanto, se for relativamente recente, você pode criar o arquivo /etc/e2fsck.conf com algo parecido com isto:

[scratch_files]
directory = /tmp/e2fs_scratch

Crie o diretório primeiro e execute o e2fsck. Usar o arquivo de rascunho reduzirá bastante o uso de memória, no entanto o e2fsck será executado muito lentamente.

Claro que se você precisar checar seu root fs, você precisará inicializar em outra raiz, já que o diretório inicial precisará ser gravável.

    
por 30.11.2011 / 19:17
1

Eu percebo que este é um tópico muito antigo, mas desde que eu tive problemas eu mesmo .. e o arquivo de rascunho não funcionou .. Eu percebi que eu iria oferecer como eu cheguei ao redor dele.

Eu gerencio um servidor de arquivos de 12 tb e a maneira como eu consegui contornar isso foi criar um arquivo de swap de 12gb em uma unidade externa .. foi mais lento, mas conseguiu passar por isso.

# dd if=/dev/zero of=/mnt/external/swapfile1 bs=1024 count=12582912
# mkswap /mnt/external/swapfile1
# swapon /mnt/external/swapfile1

Eu o chamei de swapfile1, então se ainda não bastasse, eu poderia criar um segundo swapfile2 com os mesmos passos.

Para ter o swapfile mount automaticamente, você pode adicionar esta linha ao / etc / fstab

/mnt/external/swapfile1 swap swap defaults 0 0

É claro que a unidade precisará ser montada antes dessa linha =)

    
por 09.05.2014 / 16:14