9

Я не знаю почему, но я не могу запустить команды ps или w на моей машине с Ubuntu 10.04LTS. Я сделал трассировку для обоих, и оба остановились при чтении части одного и того же файла.

Вот результат запуска ps

И вот результат для w

Файл также останавливается при чтении ... сам? http://pastebin.com/9qRB5eHh

Что происходит?

3 ответа3

9

Это случилось однажды, когда сервер NFS вышел из строя.

Тот факт, что он зависает при попытке прочитать информацию о pid 17398, а pid 17398 находится в состоянии D (ожидание диска), предполагает, что это может быть причиной и для вас.

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

Если у вас есть монтирование NFS, я думаю, что лучший вариант - попытаться восстановить работу сервера NFS.

В противном случае может помочь umount -f <mount> .

3

вздохи, закрытый вопрос довольно плохо, я буду пытаться напечатать это уже в третий раз, поэтому, пожалуйста, прости краткость.

Во-первых, используйте intr NFS mounts. Установленные по умолчанию hard монтирования NFS зависают навсегда. soft NFS монтирует ошибку по истечении времени ожидания (что может быть глупо для временных ошибок.) intr позволяет вам решить прервать зависшую операцию NFS. В самый раз.

Во-вторых, чтобы исправить эту глупую проблему, я использовал глупый трюк раньше, вероятно, он все еще работает. Поднимают псевдоним интерфейса на lo с IP - адреса в NFS сервера (редактирование: ifconfig eth0:0 <ipaddress> Создайте файл /etc/exports , содержащий строку для экспорта файловой системы, на которой вы зависли (правка: экспортируйте файловую систему с тем же именем, что и у "зависшей" файловой системы; вам придется создать тот же путь, что и у вас). смонтировал). Запустите сервер NFS на локальном компьютере, и, надеюсь, ваша зависшая программа может выдать сообщение об ошибке "файл не найден" или "каталог не найден" или что-то в этом роде, что позволит вам продолжить работу без перезагрузки.

Не забудьте снова выключить сервер NFS и удалить псевдоним интерфейса, когда закончите.

2

Я не уверен, почему акцент на NFS? Работает ли asker NFS? Ничего не видел об этом.

В любом случае, это очень странная проблема, так как его /proc. Попробуйте следующее, чтобы получить больше информации о проблеме:

  • Перейдите в /proc и найдите другие каталоги pid и попробуйте прочитать файлы cmdline из этих каталогов.
  • Попробуйте также прочитать /proc /pid /stat, если это не сработает, я бы сказал, что у вашей системы проблемы с ядром.
  • Вы можете запустить netstat -n? Это читает из разных частей /proc, так что это может работать и будет указывать на меньшую проблему с интерфейсом proc.
  • Попробуйте перемонтировать /proc с помощью mount -o remount /proc, хотя я понятия не имею, что это будет делать в этой ситуации.

Я бы просто предложил перезагрузку. Если вы не можете прочитать материал из proc, я не уверен, что вы найдете с помощью других методов. Если это случится снова, тогда начинайте беспокоиться.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .