zoukankan      html  css  js  c++  java
  • 转 找出进程中各线程cpu消耗情况

    以root用户执行以下命令,以PID 5423举例:

    1,根据top命令,找到占用CPU高的进程,找到PID
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    5423 root      20   0  8892 1284  856 R    0  0.0   0:00.04 top

    2,找到该进程后,执行如下命令获取线程列表,并按照CPU占用高的线程排序:
    [root@xxxx]# ps -mp 5423 -o THREAD,tid,time | sort -rn

    显示结果如下(举例):
    USER     %CPU PRI SCNT WCHAN  USER SYSTEM   TID     TIME
    root     10.5  19    - -         -      -  3626 00:12:48
    root     10.1  19    - -         -      -  3593 00:12:16

    找到了耗时最高的线程3626,占用CPU时间有12分钟了!

    3,将需要的线程ID转换为16进制格式:
    [root@localhost logs]# printf "%x " 22447
    57af

    4,最后打印线程的堆栈信息:
    [root@xxxx]# sudo -u 启动用户名 jstack 5423 >stack.log

    5.

  • 相关阅读:
    C#类型转换
    C#运算符
    SQL视图与触发器
    存储过程
    SQL 变量
    SQL 经典练习题
    字符串函数,数据类型转换,链接查询,纵向查询
    常用的 SQL 函数
    习题整理(1)
    子查询的部分内容
  • 原文地址:https://www.cnblogs.com/python-xiakaibi/p/13425935.html
Copyright © 2011-2022 走看看