进程何时会进入“ D”状态?


21

我正在使用“ Linux主机名2.6.28-15-通用#49-Ubuntu SMP Tue Aug 18 18:40:08 UTC 2009 i686 GNU / Linux”

所有客户端计算机都将使用瘦客户端,我将使用笔记本电脑进行工作,并将主目录从服务器安装到笔记本电脑。

如果我在笔记本电脑中打开Firefox,则Firefox窗口将不会打开,因为该进程处于“ D”状态,并且所有其他用户的计算机都挂断了并且锁定进程处于“ D”状态,

ps ajx | grep Firefox

1  6187  4313  4313 ?   -1 D<    1030   3:16 /usr/lib/firefox-3.5b4pre/firefox-3.5

   7610  7622  7621  7610 pts/3      7621 S+    1030   0:00 grep firefox

如果我检查系统日志

7月13日10:35:56主机名内核:[222583.872059]锁定:无法监视笔记本电脑

7月13日10:35:57主机名内核:[222583.872059]锁定:无法监视笔记本电脑

ps ajx | grep锁定

根9178 0.0 0.0 0 0 0 D <13:35 0:00 [锁定]

根11039 0.0 0.0 3340 796 pts / 3 S <+ 14:18 0:00 grep已锁定

对于所有客户端计算机相同的消息。

进程何时会进入“ D”状态?

锁定过程何时会进入“ D”状态?

锁定过程的目的是什么。

Answers:


16

D状态代码表示进程处于不间断的睡眠状态,这可能意味着不同的事情,但通常是I / O。lockd是管理NFS锁定的内核守护程序。您的问题确实确实需要更多的调试,但是总的来说,这似乎是在NFS通信中。


如何避免这种情况?锁定过程不应进入“ D”状态,我该怎么办?
ungalnanban 2011年

@ungalnanban:这是不可能的,如果使用I / O,则进程总是进出'D'。因此,在您的情况下,过程正在尝试读取或写入一些数据,获取锁,无法执行操作并一直等待。您必须调试它正在等待的内容,等等。抱歉,我不是NFS专家。

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.