linux 不可中断进程和僵尸进程 查找

top  S 列是进程状态

R 是 Running 或 Runnable 的缩写,表示进程在 CPU 的就绪队列中,正在运行或者正在等待运行。
D 是 Disk Sleep 的缩写,也就是不可中断状态睡眠(Uninterruptible Sleep),一般表示进程正在跟硬件交互,并且交互过程不允许被其他进程或中断打断。
Z是Zombie的缩写,表示僵尸进程,也就是进程实际上已经结束了,但是父进程还没有回收它的资源(比如进程的描述符、PID 等)。
S 是 Interruptible Sleep 的缩写,也就是可中断状态睡眠,表示进程因为等待某个事件而被系统挂起。当进程等待的事件发生时,它会被唤醒并进入 R 状态。
I 是 Idle 的缩写,也就是空闲状态,用在不可中断睡眠的内核线程上。

硬件交互导致的不可中断进程用D 表示,但对某些内核线程来说,它们有可能实际上并没有任何负载,用 Idle 正是为了区分这种情况。
要注意,D 状态的进程会导致平均负载升高, I 状态的进程却不会。
T 或者 t,也就是 Stopped 或 Traced 的缩写,表示进程处于暂停或者跟踪状态。
X,也就是 Dead 的缩写,表示进程已经消亡,所以你不会在 top 或者 ps 命令中看到它。

# 间隔1秒输出10组数据
dstat   1  10 

# 间隔 1 秒输出多组数据 (这里是 20 组)
$ pidstat -d 1 20

# 查看某进程
$ ps aux | grep 6082

# 持续一段时间(15秒),然后输出报告
$ perf record -g
$ perf report


# -a 表示输出命令行选项
# p表PID
# s表示指定进程的父进程
$ pstree -aps 3084

猜你喜欢

转载自blog.csdn.net/aganliang/article/details/111078473