Para remover um processo D State
, já que ele é ininterrupto, somente uma reinicialização da máquina pode resolver o problema caso ele não seja tratado automaticamente pelo sistema.
Geralmente, há poucas chances de que um processo permaneça em D State
por muito tempo. E se isso acontecer, há algo que não está sendo tratado corretamente no sistema. Isso também pode ser um bug em potencial.
Abaixo está um extrato do OpenVZ sobre o que é D State
de um processo.
D state occurs then the process is in uninterruptible sleep. This state is bad, because you can't do anything with the process in D state. Fortunately, process normally remains in such state not for so long. But if you have a heap of D state processes then some logic in system is disrupt. If that is happening, the very important thing is to determine where this unlucky sleep occurs. It is easy to do with ps command with l option. WCHAN column shows the name of the kernel function where the process is sleeping:
# ps axl | awk '$10 ~ /D/'
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
vass 13478 7.2 0.0 1732 624 pts/1 D+ 17:36 0:00 find ./
[Refernce] - link