ps 输出中的 R/D 标志的含义是什么?

ps 输出中的 R/D 标志的含义是什么?

R / D从是什么意思ps ax?是否说明有问题?

     3 ?        R    522:45 [ksoftirqd/0]
  4380 ?        Rl   1240:31 gdm-session-worker [pam/gdm-launch-environment]
  5938 ?        Rs     0:00 ps ax
  6148 ?        Rl   1405:54 gnome-shell --mode=gdm

答案1

ps手册中的“过程状态代码”部分下:

   D    uninterruptible sleep (usually IO)
   R    running or runnable (on run queue)
   S    interruptible sleep (waiting for an event to complete)
   T    stopped by job control signal
   t    stopped by debugger during the tracing
   W    paging (not valid since the 2.6.xx kernel)
   X    dead (should never be seen)
   Z    defunct ("zombie") process, terminated but not reaped by its parent

AnR表示该进程在运行队列中。它并不以任何方式表明有问题。

处于某种状态的进程D不会立即处理信号,因为它当前正等待磁盘(通常,这就是代码中字母 D 的来源)。如果进程卡住较长时间或者多个进程处于同一状态,则表明存在问题。该问题可能与高 I/O 负载有关(例如,太多进程想要从速度太慢的磁盘读取数据)。

附加字符也有解释:

对于 BSD 格式并且使用 stat 关键字时,可能会显示其他字符:

   <    high-priority (not nice to other users)
   N    low-priority (nice to other users)
   L    has pages locked into memory (for real-time and custom IO)
   s    is a session leader
   l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
   +    is in the foreground process group

有关的:

相关内容