CPU不可中断和僵尸进程

top时S列为进程的状态:

R:运行状态

i:空闲状态

D:不可中断状态,进程正在和硬件交互,为了保护硬件,处于不可中断状态。

Z:僵尸状态,实际上进程已经结束,但父进程没有回收资源。

S:睡眠状态,可中断。

T:暂停状态,进程收到SIN_STOP信号暂停。调试加断点的时候,进程就处于这种状态。

X:进程已经挂掉。

大量不可中断状态,系统或硬件出现故障,可能会出现,检查IO问题。

僵尸状态:

1、父进程创建子进程后,没有调用wait等待,

2、子进程结束会给父进程发送sig_children,父进程没有接受此sig_children处理。

3、或者子进程结束太快,父进程没得及做以上2步操作。

当父进程结束,僵尸子进程会被init回收。

当父进程长期不结束,僵尸子进程也会长期存在。

dstat 查看系统的IO情况。

 

 

信号中断(软中断)

本质上是一种异步处理机制。

中断被分成上下两部分处理。

上部分:硬中断,直接处理硬件情况,反应很快。

下部分:软中断,为内核线程,反应相对不如上中断快。

每个CPU都有1个软中断内核线程,名字为ksoftirqd/0 。

硬中断一般对应各种IO问题。

软中断发生频率过高,内核线程会因为CPU使用率过高,导致软中断处理不及时,造成各种问题,像网络延时,调度缓慢等性能问题。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章