如何查看线程在等待IO还是CPU资源

0    174    1

Tags:

👉 本文共约1152个字,系统预计阅读时间或需5分钟。

命令

这条命令用于显示当前系统中处于运行状态 (R) 或不可中断等待状态 (D) 的线程。

让我们逐步解释每个部分的含义:

ps -eL -o lwp,pid,ppid,state,comm

  • ps:进程状态命令,用于显示系统中正在运行的进程信息。
  • -eL
    • -e:显示所有进程(包括系统进程)。
    • -L:显示每个进程的线程级别信息。
  • -o lwp,pid,ppid,state,comm:指定输出的列格式。
    • lwp:显示轻量级进程(Light Weight Process)的 ID,即线程 ID。
    • pid:显示进程 ID。
    • ppid:显示父进程 ID。
    • state:显示线程或进程的当前状态(如运行、睡眠、等待等)。
    • comm:显示可执行命令的名称。

| grep -E " R | D "

  • |:管道符号,用于将前一部分命令的输出传递给下一部分命令。
  • grep -E " R | D "
    • grep:用于过滤输出,显示符合指定模式的行。
    • -E:启用扩展的正则表达式。
    • " R | D ":匹配线程或进程状态是 R(运行)或 D(不可中断等待)的行。状态 R 表示线程正在运行或就绪状态,D 表示线程处于不可中断的睡眠状态(通常在等待 I/O 操作)。

线程状态的解释

  • R(Running):线程处于运行或就绪状态,正在被 CPU 调度执行。
  • D(Uninterruptible Sleep):线程处于不可中断的等待状态,通常是因为等待 I/O 操作(例如磁盘 I/O),这个状态下线程不能被其他信号打断。

结果分析

执行这条命令会输出系统中所有处于 RD 状态的线程,并显示它们的线程 ID(lwp)、进程 ID(pid)、父进程 ID(ppid)、当前状态(state)、以及执行的命令名(comm)。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复