为什么当我运行 ps、w 以及其他命令时系统会挂起?

为什么当我运行 ps、w 以及其他命令时系统会挂起?

我不知道为什么,但我无法在我的 Ubuntu 10.04LTS 机器上运行psw命令。我对两者进行了跟踪,并且在读取同一文件的一部分时都停止了。

这里运行的结果ps

这里的结果为w

文件在读取时也停止了......本身?http://pastebin.com/9qRB5eHh

怎么了?

答案1

当 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>可能会有帮助。

答案2

封闭式问题的处理相当差,这将是我第三次尝试输入这个,所以请原谅它的简洁。

首先,使用intrNFS 挂载。默认的hardNFS 挂载永远挂起。NFSsoft挂载在超时后会出错(对于瞬时错误来说,这可能是愚蠢的)intr决定中断挂起的 NFS 操作。正好。

其次,为了解决这个愚蠢的问题,我使用了愚蠢的伎俩以前,它可能仍然有效。使用loNFS 服务器的 IP 地址 (编辑:) ifconfig eth0:0 <ipaddress>。创建一个/etc/exports文件,其中包含一行以导出您挂起的文件系统(编辑:导出一个与“挂起”文件系统同名的文件系统;您必须创建与已挂载的文件系统相同的路径名)。在本地计算机上启动 NFS 服务器,希望挂起的程序能够出现“文件未找到”或“目录未找到”等错误,让您无需重新启动即可继续工作。

不要忘记再次关闭你的 NFS 服务器完成后删除接口别名。

答案3

我不确定为什么要关注 NFS?提问者在运行 NFS 吗?没有看到任何相关信息。

无论如何,这是一个非常奇怪的问题,因为它是 /proc。请尝试以下操作以获取有关该问题的更多信息:

  • 进入 /proc 并找到其他 pid 目录并尝试从这些目录中读取 cmdline 文件。
  • 尝试读取 /proc/pid/stat,如果不奏效,我会说您的系统存在内核问题。
  • 您能运行 netstat -n 吗?它从 /proc 的不同部分读取数据,因此可能有效,并且表明 proc 接口的问题较少。
  • 尝试使用 mount -o remount /proc 重新挂载 /proc 虽然我不知道在这种情况下这会起什么作用。

我建议你重启一下。如果你无法从 proc 读取内容,我不确定你通过其他方法能找到什么。如果再次发生这种情况,那就开始担心吧。

相关内容