¿Por qué mi sistema se bloquea cuando ejecuto ps, w y posiblemente otros comandos?


10

No sé por qué, pero no puedo ejecutar los comandos pso wen mi máquina Ubuntu 10.04LTS. Hice un seguimiento para ambos, y ambos se detuvieron al leer parte del mismo archivo.

Aquí está el resultado de correrps

Y aquí está el resultado paraw

El archivo también se detuvo al leer ... en sí mismo? http://pastebin.com/9qRB5eHh

¿Qué está pasando?

Respuestas:


9

Eso sucedió una vez cuando un servidor NFS se cayó.

El hecho de que esté colgado tratando de leer información sobre pid 17398, y pid 17398 está en estado D(espera de disco), sugiere que esa podría ser la causa también para usted.

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

Si tiene montajes NFS, creo que la mejor opción es intentar recuperar el servidor NFS.

De lo contrario, umount -f <mount>podría ayudar.


Supongo que reiniciar debería reparar esto, pero no quiero hacerlo, ya que quiero estar seguro de cuál es la causa de esto: P

Que mountdice Tenga en cuenta que existe la posibilidad de que también se bloquee (no creo que deba hacerlo, pero no estoy 100% seguro).
Mikel

3

el manejo de preguntas cerradas es bastante pobre, esta será la tercera vez que intento escribir esto, así que por favor, perdona la brevedad.

Primero, use intrmonturas NFS. Los hardmontajes NFS predeterminados se cuelgan para siempre. softNFS elimina el error después de un tiempo de espera (que puede ser estúpido para errores transitorios). Leintr permite decidir interrumpir una operación NFS bloqueada. Solo bien.

En segundo lugar, para solucionar este estúpido problema, he usado un truco estúpido antes, probablemente todavía funcione. Criar a un alias en la interfaz locon la dirección IP del servidor NFS ( edit : ifconfig eth0:0 <ipaddress>). Cree un /etc/exportsarchivo que contenga una línea para exportar el sistema de archivos en el que está colgado ( edite : exporte un sistema de archivos con el mismo nombre que el sistema de archivos 'colgado'; deberá crear el mismo nombre de ruta que el que ha montado) . Inicie su servidor NFS en su máquina local y, con suerte, su programa bloqueado puede generar un error con "archivo no encontrado" o "directorio no encontrado" o algo así, lo que le permite continuar con su trabajo sin reiniciar.

No olvide apagar su servidor NFS nuevamente y eliminar el alias de la interfaz cuando haya terminado.


Uso monturas intr NFS ... ¿dónde viste lo contrario?
user69239

Sobre el "segundo párrafo" no lo entiendo muy bien ... lo siento! :(
user69239

@ user69239 no proporcionó ningún detalle, por lo que supuse que estaba usando el hardtipo de montaje predeterminado . :)
sarnold

@ user69239, he ampliado ligeramente el párrafo con el truco tonto: espero que sea más fácil de entender ahora. :)
sarnold

2

No estoy seguro de por qué centrarse en NFS? ¿El autor de la pregunta ejecuta NFS? No vi nada al respecto.

De todos modos, este es un problema muy extraño ya que es / proc. Pruebe lo siguiente para obtener más información sobre el problema:

  • Vaya a / proc y busque otros directorios pid e intente leer los archivos cmdline de esos directorios.
  • Intente leer / proc / pid / stat también, si eso no funciona, diría que su sistema tiene problemas con el kernel.
  • ¿Eres capaz de ejecutar netstat -n? Esto se lee desde diferentes partes de / proc, por lo que podría funcionar e indicaría menos problemas con la interfaz de proc.
  • Intente volver a montar / proc con mount -o remontar / proc aunque no tengo idea de lo que esto haría en esta situación.

Solo sugeriría reiniciar. Si no puede leer cosas de proc, no estoy seguro de qué encontrará a través de otros métodos. Si vuelve a ocurrir, comienza a preocuparte.


Sí, estoy con NFS ... el problema es copiar un archivo a través de un sistema de fusibles s3
user69239

fusible y nfs son cosas diferentes. Creo que debe proporcionar todos los detalles que pueda. Usted proporcionó mucho con un fragmento, pero conocer más sobre su configuración y cómo comenzó todo esto es un primer paso necesario.
deltaray

El problema apareció haciendo un comando "cp" masivo desde mi host (una pequeña instancia de Amazon) a un S3, conectado con s3f3 1.40 con solo la opción allow_other. Mi Ubuntu es una instalación de base 10.10 normal con la actualización típica. Nada más. Realmente: P
user69239
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.