为什么在运行ps,w以及其他可能的命令时系统挂起?


10

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

是跑步的结果ps

这里的的结果w

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

怎么了?

Answers:


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


我猜重启应该可以解决这个问题,但是我不想这样做,因为我想确定这是什么原因:P

什么mount发言权?请注意,也有可能挂起(我不认为应该挂起,但我不确定100%)。
Mikel

3

叹息问题的处理非常差,这是我第三次尝试输入此内容,因此请原谅。

首先,使用intrNFS挂载。默认的hardNFS挂载将永远挂起。softNFS在超时后挂载错误(对于瞬态错误可能是愚蠢的。)intr您可以决定中断挂起的NFS操作。正好。

其次,为了解决这个愚蠢的问题,我之前使用过一个愚蠢的把戏,它可能仍然有效。在弹出的界面别名lo与NFS服务器的IP地址(编辑ifconfig eth0:0 <ipaddress>)。创建一个/etc/exports包含一行以导出挂起的文件系统的文件(编辑:导出与“挂起”文件系统同名的文件系统;您必须创建与已挂载的文件系统相同的路径名) 。在本地计算机上启动NFS服务器,希望挂起的程序会因“找不到文件”或“找不到目录”或类似错误而出错,从而使您无需重新启动就可以继续工作。

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


我使用intr NFS挂载...您在哪里看到相反的说法?
2011年

关于“第二段”,我不太了解...对不起!:(
user69239 2011年

@ user69239您没有提供任何详细信息,因此我假设您使用的是默认hard安装类型。:)
sarnold 2011年

@ user69239,我用愚蠢的技巧稍微扩展了该段,希望现在可以更容易理解。:)
sarnold 2011年

2

我不确定为什么要重点关注NFS?询问者是否正在运行NFS?对此一无所获。

无论如何,这是一个自/ proc以来的非常奇怪的问题。请尝试以下操作,以使自己了解有关该问题的更多信息:

  • 进入/ proc并找到其他pid目录,然后尝试从这些目录中读取cmdline文件。
  • 也尝试读取/ proc / pid / stat,如果那行不通,我想说您的系统存在内核问题。
  • 您可以运行netstat -n吗?这是从/ proc的不同部分读取的,因此它可能起作用,并且将说明proc接口的问题较少。
  • 尝试用mount -o remount / proc重新安装/ proc,尽管我不知道在这种情况下会做什么。

我只是建议重启。如果您无法从proc中读取内容,则不确定通过其他方法可以找到什么。如果再次发生,请开始担心。


是的,我正在使用NFS ...问题是通过s3保险丝系统复制文件
2011年

fuse和nfs是不同的东西。我认为您需要提供所有详细信息。您提供了很多信息,但是要了解有关您的设置以及所有这些操作的详细信息,这是必要的第一步。
2011年

问题出现在从主机(Amazon的一个小实例)到S3的海量“ cp”命令中,仅通过allow_other选项与s3f3 1.40连接。我的Ubuntu是正常的10.10基本安装,带有典型的升级。没有其他的。真的:P
user69239 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.