Pivotal Knowledge Base

Follow

Dealing with processes in state D - uninterruptible sleep (usually IO)

Problem

There are processes for which "ps aux" shows state "D" (= "Uninterruptible sleep"). Example

[gpadmin@sdapsdw05 ~]$ ps aux | grep 26528
gpadmin  26528  0.0  0.0 395116 211960 ?       Ds   Sep17   4:14 /usr/local/greenplum/greenplum-db-4.2.7.1SY4/bin/postgres -D /data/gpdb_p6/gpseg37 -p 50005 -b 39 -z 320 --silent-mode=true -i -M quiescent -C 37

State "D" (uninterruptible sleep) means that likely the process is in kernel space (in system call), probably attempting to perform IO. These processes will not respond to signals (or SIGKILL) and cannot be debugged with gdb or pstack.

Cause

This is a known red hat bug

Solution

This issue is fixed in kernel version "kernel-2.6.32-431.el6". If DCA - advice for upgrade to DCA version with newer kernel (see JIRA PFRM-256). If not DCA - advice customer to upgrade kernel.

There is no way to terminate or debug these processes. Server reboot is the only way to clear them up. Collect OS details, logs and information about the state of the storage subsystem.

Comments

Powered by Zendesk