Pourquoi mon système se bloque-t-il lorsque j'exécute ps, w et éventuellement d'autres commandes?

10

Je ne sais pas pourquoi, mais je ne peux pas exécuter les commandes psou wsur ma machine Ubuntu 10.04LTS. J'ai fait une trace pour les deux, et les deux se sont arrêtés lors de la lecture d'une partie du même fichier.

Voici le résultat de la courseps

Et voici le résultat pourw

Le fichier s'est également arrêté lors de la lecture ... lui-même? http://pastebin.com/9qRB5eHh

Qu'est-ce qui se passe?

user69239
la source

Réponses:

9

Je l'ai fait une fois lorsqu'un serveur NFS est tombé en panne.

Le fait qu'il soit bloqué en essayant de lire les informations sur le pid 17398, et que le pid 17398 soit dans l'état D(attente de disque), suggère que cela pourrait être la cause pour vous aussi.

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

Si vous avez des montages NFS, je pense que la meilleure option est d'essayer de faire remonter le serveur NFS.

Sinon, cela umount -f <mount>pourrait aider.

Mikel
la source
Je suppose que le redémarrage devrait réparer cela, mais je ne veux pas le faire, car je veux être sûr de la cause de cela: P
Que mountdit-on? Notez qu'il y a une chance qui pourrait se bloquer aussi (je ne pense pas que cela devrait, mais je ne suis pas sûr à 100%).
Mikel
3

soupirer la gestion des questions fermées est assez mauvaise, ce sera la troisième fois que j'essayerai de taper ceci, alors veuillez pardonner la lourdeur.

Tout d'abord, utilisez des intrmontures NFS. Les hardmontages NFS par défaut se bloquent pour toujours. softNFS monte l'erreur après une temporisation (ce qui peut être stupide pour des erreurs transitoires) vousintr permet de décider d'interrompre une opération NFS bloquée. Juste à droite.

Deuxièmement, pour résoudre ce problème stupide, j'ai déjà utilisé une astuce stupide , cela fonctionne probablement toujours. Apportez un alias d'interface sur loavec l'adresse IP du serveur NFS ( modifier : ifconfig eth0:0 <ipaddress>). Créez un /etc/exportsfichier qui contient une ligne pour exporter le système de fichiers sur lequel vous êtes accroché ( modifier : exporter un système de fichiers avec le même nom que le système de fichiers 'accroché'; vous devrez créer le même chemin d'accès que celui que vous avez monté) . Démarrez votre serveur NFS sur votre ordinateur local et, espérons-le, votre programme bloqué peut afficher une erreur avec «fichier introuvable» ou «répertoire introuvable» ou quelque chose comme ça, vous permettant de poursuivre votre travail sans redémarrer.

N'oubliez pas d'éteindre à nouveau votre serveur NFS et de supprimer l'alias d'interface lorsque vous avez terminé.

sarnold
la source
J'utilise des montures intr NFS ... où avez-vous vu le contraire?
user69239
A propos du "deuxième paragraphe" je ne le comprends pas très bien ... désolé! :(
user69239
@ user69239 vous n'avez donné aucun détail, j'ai donc supposé que vous utilisiez le hardtype de montage par défaut . :)
sarnold
@ user69239, j'ai légèrement développé le paragraphe avec l'astuce idiote - j'espère qu'il est plus facile à comprendre maintenant. :)
sarnold
2

Je ne sais pas pourquoi l'accent mis sur NFS? Le demandeur exécute-t-il NFS? Je n'ai rien vu à ce sujet.

Quoi qu'il en soit, c'est un problème très étrange depuis son / proc. Essayez les choses suivantes pour vous donner plus d'informations sur le problème:

  • Allez dans / proc et trouvez d'autres répertoires pid et essayez de lire les fichiers cmdline à partir de ces répertoires.
  • Essayez également de lire / proc / pid / stat, si cela ne fonctionne pas, je dirais que votre système a des problèmes avec le noyau.
  • Pouvez-vous exécuter netstat -n? Cela lit à partir de différentes parties de / proc, donc cela pourrait fonctionner et indiquerait moins de problème avec l'interface proc.
  • Essayez de remonter / proc avec mount -o remount / proc bien que je n'ai aucune idée de ce que cela ferait dans cette situation.

Je suggère simplement de redémarrer. Si vous ne pouvez pas lire des trucs de proc, je ne suis pas sûr de ce que vous allez trouver par d'autres méthodes. Si cela se reproduit, commencez à vous inquiéter.

deltaray
la source
Oui, je suis avec NFS ... le problème est la copie d'un fichier via un système de fusible s3
user69239
fusible et nfs sont des choses différentes. Je pense que vous devez fournir tous les détails que vous pouvez. Vous avez beaucoup fourni une strace, mais en savoir plus sur votre configuration et comment tout a commencé est une première étape nécessaire.
deltaray
Le problème est apparu en faisant une commande massive "cp" de mon hôte (une petite instance d'Amazon) à un S3, connecté avec s3f3 1.40 avec juste l'option allow_other. Mon Ubuntu est une installation normale de base 10.10 avec la mise à niveau typique. Rien d'autre. Vraiment: P
user69239