今天看啥  ›  专栏  ›  闪客

什么叫进程被 D 了

闪客  · 公众号  · 科技自媒体  · 2024-12-03 08:30
    

主要观点总结

小宇在排查公司问题时听到“进程被D了”的说法,感到困惑。闪客解释,“D”表示一种进程状态,即不可中断的睡眠状态,源于英文的“Disk Sleep”,描述等待磁盘 IO 的状态,后来扩展到所有不可中断的阻塞状态。在此状态下,进程会不可中断,对SIGKILL信号无响应,只能等待资源请求完成。长时间处于此状态通常意味着等待的资源出现问题。解决这类问题需从硬件、软件等方面排查原因,工具如dstat、iotop等可帮助分析。闪客提醒,遇到此类问题不要慌,先查明原因,如无法解决则只能重启。

关键观点总结

关键观点1: 进程被“D”的含义

“D”表示进程的一种状态,即不可中断的睡眠状态,表示进程在等待某些资源时被阻塞的状态。

关键观点2: 进程进入“D”状态的原因

进程进入“D”状态通常是因为在等待资源,如硬盘、网络等出现问题,或者锁被其他进程占用。

关键观点3: 如何解决进程进入“D”状态的问题

解决进程进入“D”状态的问题需要从硬件、软件等方面排查原因,使用工具如dstat、iotop等进行分析,如无法解决则只能重启。


文章预览

小宇:闪客闪客,我在公司排查问题的时候,听到有人说某个进程被 D 了,听起来像是骂人一样,这到底是啥意思啊? 闪客:哈哈,这可不是骂人。不过这句话稍微有点歧义,有可能指进程被杀死了,但这么说会有点傻缺,还不如直接说进程被杀了。 小宇:那还有什么意思呢? 闪客:更有价值的意思是想表达,这个进程持续处于了 D 状态,这么说一看就是个老运维了。 小宇:这我更迷糊了,这是啥意思呢? 闪客:这里的  “D” 就表示一种进程状态,代表“不可中断的睡眠状态”,一般处在这种状态下的进程,比较随意的叫法就是进程被 D 了、发现了 D 进程等。 小宇:啥?睡眠还能不可中断?它睡得多死? 闪客:哈哈,是的,确实可以理解为“死睡”。简单来说,进程在访问某些资源,比如硬盘或者网络 IO 的时候,如果这些操作被阻塞了,它 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览