Por que meu sistema trava quando executo ps, we outros comandos?

10

Não sei por que, mas não consigo executar os comandos psou wna minha máquina Ubuntu 10.04LTS. Eu fiz um rastreamento para ambos, e ambos pararam ao ler parte do mesmo arquivo.

Aqui está o resultado da execuçãops

E aqui está o resultado paraw

O arquivo também parou ao ler ... em si? http://pastebin.com/9qRB5eHh

O que está acontecendo?

user69239
fonte

Respostas:

9

Isso aconteceu uma vez quando um servidor NFS caiu.

O fato de estar travado ao tentar ler informações sobre o pid 17398, e o pid 17398 está no estado D(espera de disco), sugere que também poderia ser a causa para você.

read(6, "Name:\tconvert\nState:\tD (disk sle"..., 1023) = 664
open("/proc/17398/cmdline", O_RDONLY)   = 6

Se você possui montagens NFS, acho que a melhor opção é tentar recuperar o servidor NFS.

Caso contrário, umount -f <mount>pode ajudar.

Mikel
fonte
Eu acho que a reinicialização deve reparar isso, mas não quero fazê-lo, pois quero ter certeza de qual é a causa disso: P
O que mountdiz? Observe que há uma chance de que isso também ocorra (acho que não, mas não tenho 100% de certeza).
Mikel
3

suspiro , o manuseio de perguntas fechadas é muito ruim; será a terceira vez que eu tentar digitar isso, então, perdoe a concisão.

Primeiro, use intrmontagens NFS. As hardmontagens NFS padrão são suspensas para sempre. softO NFS monta o erro após um tempo limite (o que pode ser estúpido para erros transitórios.) intrPermite que você decida interromper uma operação NFS interrompida. Na medida.

Segundo, para corrigir esse problema estúpido, eu já usei um truque estúpido , provavelmente ainda funciona. Traga um alias de interface on locom o endereço IP do servidor NFS ( edição : ifconfig eth0:0 <ipaddress>). Crie um /etc/exportsarquivo que contenha uma linha para exportar o sistema de arquivos em que você está pendurado ( edite : exporte um sistema de arquivos com o mesmo nome que o sistema de arquivos 'travado'; você precisará criar o mesmo nome de caminho que você montou) . Inicie o servidor NFS em sua máquina local e, esperançosamente, seu programa travado pode ter erro com "arquivo não encontrado" ou "diretório não encontrado" ou algo assim, permitindo que você continue seu trabalho sem reiniciar.

Não se esqueça de desligar o servidor NFS novamente e remover o alias da interface quando terminar.

sarnold
fonte
Eu uso montagens NFS intr ... onde você viu o contrário?
user69239
Sobre o "segundo parágrafo" eu não entendo muito bem ... desculpe! :(
user69239
@ user69239 você não forneceu detalhes, então presumi que você estivesse usando o hardtipo de montagem padrão . :)
sarnold
@ user69239, ampliei levemente o parágrafo com o truque bobo - espero que seja mais fácil de entender agora. :)
sarnold
2

Não sei por que o foco no NFS? O solicitante está executando o NFS? Não vi nada sobre isso.

De qualquer forma, este é um problema muito estranho desde o seu / proc. Tente o seguinte para obter mais informações sobre o problema:

  • Vá para / proc e encontre outros diretórios pid e tente ler os arquivos cmdline desses diretórios.
  • Tente ler / proc / pid / stat também, se isso não funcionar, eu diria que seu sistema está com problemas no kernel.
  • Você é capaz de executar o netstat -n? Ele lê partes diferentes de / proc, para que funcione e indique menos problemas na interface proc.
  • Tente remontar / proc com o mount -o remount / proc, embora eu não tenha idéia do que isso faria nessa situação.

Eu apenas sugeriria reiniciar. Se você não consegue ler coisas do proc, não sei o que você encontrará através de outros métodos. Se isso acontecer novamente, comece a se preocupar.

deltaray
fonte
Sim, eu sou com NFS ... o problema é copiar um arquivo através de um sistema de fusíveis s3
user69239
fusível e nfs são coisas diferentes. Eu acho que você precisa fornecer todos os detalhes que puder. Você forneceu muitas informações, mas saber mais sobre sua configuração e como tudo isso começou é um primeiro passo necessário.
Deltaray
O problema apareceu ao executar um comando "cp" massivo do meu host (uma pequena instância da Amazon) para um S3, conectado ao s3f3 1.40 com apenas a opção allow_other. Meu Ubuntu é uma instalação normal da base 10.10 com a atualização típica. Nada mais. Realmente: P
user69239