linux 查看 线程_linux根据线程id查看线程信息 - CSDN
  • Linux查看进程和线程

    万次阅读 2011-12-08 17:54:58
    查看进程 1. top 命令 top命令查看系统的资源状况  load average表示在过去的一段时间内有多少个进程企图独占CPU  zombie 进程 :不是异常情况。一个进程从创建到结束在最后那一段时间遍是僵尸。留在内存...

    查看进程

    1. top 命令

    top命令查看系统的资源状况

      load average表示在过去的一段时间内有多少个进程企图独占CPU

      zombie 进程 :不是异常情况。一个进程从创建到结束在最后那一段时间遍是僵尸。留在内存中等待父进程取的东西便是僵尸。任何程序都有僵尸状态,它占用一点内存资源,仅仅是表象而已不必害怕。如果程序有问题有机会遇见,解决大批量僵尸简单有效的办法是重起。kill是无任何效果的stop模式:与sleep进程应区别,sleep会主动放弃cpu,而stop是被动放弃cpu ,例单步跟踪,stop(暂停)的进程是无法自己回到运行状态的。

      cpu states:

      nice:让出百分比irq:中断处理占用

      idle:空间占用百分比 iowait:输入输出等待(如果它很大说明外存有瓶颈,需要升级硬盘(SCSI))

      Mem:内存情况

      设计思想:把资源省下来不用便是浪费,如添加内存后free值会不变,buff值会增大。 判断物理内存够不够,看交换分区的使用状态。

      交互命令:

      [Space]立即刷新显示

      [h]显示帮助屏幕

      [k] 杀死某进程。你会被提示输入进程 ID 以及要发送给它的信号。 一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。

      [n] 改变显示的进程数量。你会被提示输入数量。

      [u] 按用户排序。

      [M] 按内存用量排序。

      [o][O] 改变显示项目的顺序。

      [P] 根据CPU使用百分比大小进行排序。

      [T] 根据时间/累计时间进行排序。

      [Ctrl+L] 擦除并且重写屏幕。

      [q] 退出程序。

      [r] 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。

      [S] 切换到累计模式。

      [s] 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。

      缩写含义:

      PID每个进程的ID

      USER进程所有者的用户名

      PRI每个进程的优先级别

      NI每个优先级的值

      SIZE 进程的代码大小加上数据大小再加上堆栈空间大小的总数,单位是KB RSS 进程占用的物理内存的总数量,单位是KB

      SHARE进程使用共享内存的数量

      STAT 进程的状态。其中S代表休眠状态;D代表不可中断的休眠状态;R代表运行状态;Z代表僵死状态;T代表停止或跟踪状态

      %CPU进程自最近一次刷新以来所占用的CPU时间和总时间的百分比

      %MEM进程占用的物理内存占总内存的百分比

      TIME进程自启动以来所占用的总CPU时间

      CPU CPU标识

      COMMAND进程的命令名称


    2. ps命令

    ps查看当前用户的活动进程,如果加上参数可以显示更多的信息,如-a,显示所有用户的进程

      ps ax :tty值为“?”是守护进程,叫deamon 无终端,大多系统服务是此进程,内核态进程是看不到的

          ps axf :看进程树,以树形方式现实进程列表敲 ,init是1号进程,系统所有进程都是它派生的,杀不掉

          ps axm :会把线程列出来。在linux下进程和线程是统一的,是轻量级进程的两种方式。

      ps axu :显示进程的详细状态。

      vsz:说此进程一共占用了多大物理内存。

      rss:请求常驻内存多少


    ========================================================================================

    查看线程

    其实linux没有线程,都是用进程模仿的

    1. ps -ef f
    用树形显示进程和线程,比如说我想找到proftp现在有多少个进程/线程,可以用
    $ ps -ef f | grep proftpd
    nobody 23117 1 0 Dec23 ? S 0:00 proftpd:   (accepting   connections)   
    jack 23121 23117 0 Dec23 ? S 7:57 \_ proftpd: jack - ftpsrv:   IDLE
    jack 28944 23117 0 Dec23 ? S 4:56 \_ proftpd: jack - ftpsrv:   IDLE
    这样就可以看到proftpd这个进程下面挂了两个线程。
    在Linux下面好像因为没有真正的线程,是用进程模拟的,有一个是辅助线程,所以真正程序开的线程应该只有一个。

    2. pstree -c也可以达到相同的效果
    $ pstree -c | grep proftpd
    |-proftpd-+-proftpd
    | `-proftpd


    3. cat /proc/${pid}/status
    可以查看大致的情况


    4.  pstack

    有些系统可以用这个东东,可以查看所有线程的堆栈


    如何查看进程中各线程的内存占用情况?

    用ps aux只能查看到进程,如果进程里面使用了pthread编程,用什么命令才能查询到进程里的线程资源占用?
    ps aux | grep不就是了




    参考 http://www.soft6.com/tech/16/167005.html

           http://hi.baidu.com/willor/blog/item/fd58e6c5ea840ca38326ac6a.html

    展开全文
  • linux下进程和线程状态查看

    万次阅读 2017-09-05 10:28:46
    检查 使用 ps -fe |grep programname 查看获得进程的pid,再使用 ps -Lf pid 查看对应进程下的线程数. 查找资料发现可以通过设置 ulimit -s 来增加每进程线程数。 每进程可用线程数 = VIRT上限/stack size 32位x86...

    检查 使用 ps -fe |grep programname 查看获得进程的pid,再使用 ps -Lf pid 查看对应进程下的线程数.

    查找资料发现可以通过设置 ulimit -s 来增加每进程线程数。 每进程可用线程数 = VIRT上限/stack size   32位x86系统默认的VIRT上限是3G(内存分配的3G+1G方式),64位x86系统默认的VIRT上限是64G

    用 ulimit -s 可以查看默认的线程栈大小,一般情况下,这个值是 8M[8192]

    查看最大线程数:

    cat /proc/sys/kernel/threads-max



    1.根据进程号进行查询:

    # pstree -p 进程号

    # top -Hp 进程号


    1、 cat /proc/${pid}/status

    2、pstree -p ${pid}

    3、top -p ${pid} 再按H 或者直接输入 top -bH -d 3 -p ${pid}

    top -H
    手册中说:-H : Threads toggle
    加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。

    4、ps xH
    手册中说:H Show threads as if they were processes
    这样可以查看所有存在的线程。

    5、ps -mp <PID>
    手册中说:m Show threads after processes
    这样可以查看一个进程起的线程数。


    ps -Lf pid|wc

    ps -eLf |grep pid|grep -v grep

    pstree -p `ps -aux | grep server | awk '{print $2}'` | wc -l


    ===

    查看线程

    其实linux没有线程,都是用进程模仿的

    1. ps -ef f
    用树形显示进程和线程,比如说我想找到proftp现在有多少个进程/线程,可以用
    $ ps -ef f | grep proftpd
    nobody 23117 1 0 Dec23 ? S 0:00 proftpd:   (accepting   connections)   
    jack 23121 23117 0 Dec23 ? S 7:57 \_ proftpd: jack - ftpsrv:   IDLE
    jack 28944 23117 0 Dec23 ? S 4:56 \_ proftpd: jack - ftpsrv:   IDLE
    这样就可以看到proftpd这个进程下面挂了两个线程。
    在Linux下面好像因为没有真正的线程,是用进程模拟的,有一个是辅助线程,所以真正程序开的线程应该只有一个。

    2. pstree -c也可以达到相同的效果
    $ pstree -c | grep proftpd
    |-proftpd-+-proftpd
    | `-proftpd


    3. cat /proc/${pid}/status 
    可以查看大致的情况


    4.  pstack

    有些系统可以用这个东东,可以查看所有线程的堆栈


    如何查看进程中各线程的内存占用情况?

    用ps aux只能查看到进程,如果进程里面使用了pthread编程,用什么命令才能查询到进程里的线程资源占用?
    ps aux | grep不就是了


    查看进程

    1. top 命令

    top命令查看系统的资源状况

      load average表示在过去的一段时间内有多少个进程企图独占CPU

      zombie 进程 :不是异常情况。一个进程从创建到结束在最后那一段时间遍是僵尸。留在内存中等待父进程取的东西便是僵尸。任何程序都有僵尸状态,它占用一点内存资源,仅仅是表象而已不必害怕。如果程序有问题有机会遇见,解决大批量僵尸简单有效的办法是重起。kill是无任何效果的stop模式:与sleep进程应区别,sleep会主动放弃cpu,而stop是被动放弃cpu ,例单步跟踪,stop(暂停)的进程是无法自己回到运行状态的。

      cpu states:

      nice:让出百分比irq:中断处理占用

      idle:空间占用百分比 iowait:输入输出等待(如果它很大说明外存有瓶颈,需要升级硬盘(SCSI))

      Mem:内存情况

      设计思想:把资源省下来不用便是浪费,如添加内存后free值会不变,buff值会增大。 判断物理内存够不够,看交换分区的使用状态。

      交互命令:

      [Space]立即刷新显示

      [h]显示帮助屏幕

      [k] 杀死某进程。你会被提示输入进程 ID 以及要发送给它的信号。 一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。

      [n] 改变显示的进程数量。你会被提示输入数量。

      [u] 按用户排序。

      [M] 按内存用量排序。

      [o][O] 改变显示项目的顺序。

      [P] 根据CPU使用百分比大小进行排序。

      [T] 根据时间/累计时间进行排序。

      [Ctrl+L] 擦除并且重写屏幕。

      [q] 退出程序。

      [r] 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。

      [S] 切换到累计模式。

      [s] 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。

      缩写含义:

      PID每个进程的ID

      USER进程所有者的用户名

      PRI每个进程的优先级别

      NI每个优先级的值

      SIZE 进程的代码大小加上数据大小再加上堆栈空间大小的总数,单位是KB RSS 进程占用的物理内存的总数量,单位是KB

      SHARE进程使用共享内存的数量

      STAT 进程的状态。其中S代表休眠状态;D代表不可中断的休眠状态;R代表运行状态;Z代表僵死状态;T代表停止或跟踪状态

      %CPU进程自最近一次刷新以来所占用的CPU时间和总时间的百分比

      %MEM进程占用的物理内存占总内存的百分比

      TIME进程自启动以来所占用的总CPU时间

      CPU CPU标识

      COMMAND进程的命令名称


    2. ps命令

    ps查看当前用户的活动进程,如果加上参数可以显示更多的信息,如-a,显示所有用户的进程

      ps ax :tty值为“?”是守护进程,叫deamon 无终端,大多系统服务是此进程,内核态进程是看不到的

          ps axf :看进程树,以树形方式现实进程列表敲 ,init是1号进程,系统所有进程都是它派生的,杀不掉

          ps axm :会把线程列出来。在Linux下进程和线程是统一的,是轻量级进程的两种方式。

      ps axu :显示进程的详细状态。

      vsz:说此进程一共占用了多大物理内存。

      rss:请求常驻内存多少




    展开全文
  • linux查看进程线程的方法

    千次阅读 2019-05-17 10:54:21
    Linux查看线程数的三种方法 1、top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。 2、ps xH 手册中说:H Show threads as if they were processes ...

    在Linux中查看线程数的三种方法

    1、top -H
    手册中说:-H : Threads toggle
    加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。
    2、ps xH
    手册中说:H Show threads as if they were processes
    这样可以查看所有存在的线程。
    3、ps -mp <PID>
    手册中说:m Show threads after processes
    这样可以查看一个进程起的线程数。

    查看进程

    1. top 命令

    top命令查看系统的资源状况

      load average表示在过去的一段时间内有多少个进程企图独占CPU

      zombie 进程 :不是异常情况。一个进程从创建到结束在最后那一段时间遍是僵尸。留在内存中等待父进程取的东西便是僵尸。任何程序都有僵尸状态,它占用一点内存资源,仅仅是表象而已不必害怕。如果程序有问题有机会遇见,解决大批量僵尸简单有效的办法是重起。kill是无任何效果的stop模式:与sleep进程应区别,sleep会主动放弃cpu,而stop是被动放弃cpu ,例单步跟踪,stop(暂停)的进程是无法自己回到运行状态的。

      cpu states:

      nice:让出百分比irq:中断处理占用

      idle:空间占用百分比 iowait:输入输出等待(如果它很大说明外存有瓶颈,需要升级硬盘(SCSI))

      Mem:内存情况

      设计思想:把资源省下来不用便是浪费,如添加内存后free值会不变,buff值会增大。 判断物理内存够不够,看交换分区的使用状态。

      交互命令:

      [Space]立即刷新显示

      [h]显示帮助屏幕

      [k] 杀死某进程。你会被提示输入进程 ID 以及要发送给它的信号。 一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。

      [n] 改变显示的进程数量。你会被提示输入数量。

      [u] 按用户排序。

      [M] 按内存用量排序。

      [o][O] 改变显示项目的顺序。

      [P] 根据CPU使用百分比大小进行排序。

      [T] 根据时间/累计时间进行排序。

      [Ctrl+L] 擦除并且重写屏幕。

      [q] 退出程序。

      [r] 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。

      [S] 切换到累计模式。

      [s] 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。

      缩写含义:

      PID每个进程的ID

      USER进程所有者的用户名

      PRI每个进程的优先级别

      NI每个优先级的值

      SIZE 进程的代码大小加上数据大小再加上堆栈空间大小的总数,单位是KB RSS 进程占用的物理内存的总数量,单位是KB

      SHARE进程使用共享内存的数量

      STAT 进程的状态。其中S代表休眠状态;D代表不可中断的休眠状态;R代表运行状态;Z代表僵死状态;T代表停止或跟踪状态

      %CPU进程自最近一次刷新以来所占用的CPU时间和总时间的百分比

      %MEM进程占用的物理内存占总内存的百分比

      TIME进程自启动以来所占用的总CPU时间

      CPU CPU标识

      COMMAND进程的命令名称

    2. ps命令

    ps查看当前用户的活动进程,如果加上参数可以显示更多的信息,如-a,显示所有用户的进程


      ps ax :tty值为“?”是守护进程,叫deamon 无终端,大多系统服务是此进程,内核态进程是看不到的

          ps axf :看进程树,以树形方式现实进程列表敲 ,init是1号进程,系统所有进程都是它派生的,杀不掉

          ps axm :会把线程列出来。在linux下进程和线程是统一的,是轻量级进程的两种方式。

      ps axu :显示进程的详细状态。

      vsz:说此进程一共占用了多大物理内存。

      rss:请求常驻内存多少

    查看线程

    其实linux没有线程,都是用进程模仿的

    1. ps -ef f
    用树形显示进程和线程,比如说我想找到proftp现在有多少个进程/线程,可以用

    $ ps -ef f | grep proftpd
    nobody 23117 1 0 Dec23 ? S 0:00 proftpd:  (accepting  connections) 
    jack 23121 23117 0 Dec23 ? S 7:57 \_ proftpd: jack - ftpsrv:  IDLE
    jack 28944 23117 0 Dec23 ? S 4:56 \_ proftpd: jack - ftpsrv:  IDLE

    这样就可以看到proftpd这个进程下面挂了两个线程。
    在Linux下面好像因为没有真正的线程,是用进程模拟的,有一个是辅助线程,所以真正程序开的线程应该只有一个。

    2. pstree -c也可以达到相同的效果
    $ pstree -c | grep proftpd
    |-proftpd-+-proftpd
    | `-proftpd

    3. cat /proc/${pid}/status
    可以查看大致的情况

    4.  pstack

    有些系统可以用这个东东,可以查看所有线程的堆栈

    如何查看进程中各线程的内存占用情况?

    用ps aux只能查看到进程,如果进程里面使用了pthread编程,用什么命令才能查询到进程里的线程资源占用?
    ps aux | grep不就是了

    展开全文
  • linux 查看线程信息

    万次阅读 2011-01-05 09:24:00
    linux操作系统中可以使用ps -eLf命令来查看线程信息: 下面的数据为db2数据库的db2sysc进程中所包括的线程: 192.168.100.228 [sde ~]$ ps -eLf |grep db2sysc|grep -v grep .csharpcode, .csharpcode pre {...

    在linux操作系统中可以使用ps -eLf命令来查看线程信息:

    下面的数据为db2数据库的db2sysc进程中所包括的线程:

    192.168.100.228 [sde ~]$ ps -eLf |grep db2sysc|grep -v grep

    UID        PID  PPID   LWP  C NLWP STIME TTY          TIME
     CMD
    db2inst1  4865  4863  4865  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  4869  0   40  2010 ?        00:00:45 db2sysc 0
    db2inst1  4865  4863  4870  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  4871  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  4872  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  4873  0   40  2010 ?        00:00:03 db2sysc 0
    db2inst1  4865  4863  4874  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  4875  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  4876  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  4877  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  4878  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  5156  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  5662  0   40  2010 ?        00:00:09 db2sysc 0
    db2inst1  4865  4863  5663  0   40  2010 ?        00:00:15 db2sysc 0
    db2inst1  4865  4863  6125  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6126  0   40  2010 ?        00:00:01 db2sysc 0
    db2inst1  4865  4863  6127  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6128  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6129  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6130  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6131  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6132  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6133  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6134  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6135  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6136  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6137  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  6191  0   40  2010 ?        00:00:06 db2sysc 0
    db2inst1  4865  4863  6205  0   40  2010 ?        00:00:10 db2sysc 0
    db2inst1  4865  4863  6337  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  7131  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863  7578  0   40  2010 ?        00:00:13 db2sysc 0
    db2inst1  4865  4863  7596  0   40  2010 ?        00:00:07 db2sysc 0
    db2inst1  4865  4863  7622  0   40  2010 ?        00:00:01 db2sysc 0
    db2inst1  4865  4863  7908  0   40  2010 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863 10637  0   40  2010 ?        00:00:02 db2sysc 0
    db2inst1  4865  4863 25427  0   40 Jan04 ?        00:00:04 db2sysc 0
    db2inst1  4865  4863 27917  0   40 Jan04 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863 30815  0   40 Jan04 ?        00:00:00 db2sysc 0
    db2inst1  4865  4863 30816  0   40 Jan04 ?        00:00:00 db2sysc 0

    其中

    UID为User ID.

    PID为process id,进程标识符

    PPID为 parent process id,父进程标识符2,

    LWP为light weight process or thread, 轻量级进程,即线程标识符

    NLWP为,number of lwps(threads) in the process, 线程的数量

    现在的db2sysc进程一共包含40个线程,它们的线程号为:

    192.168.100.228 [sde ~]$ ps -eLf |grep db2sysc|grep -v grep|awk '{print $4}'
    
    4865
    4869
    4870
    4871
    4872
    4873
    4874
    4875
    4876
    4877
    4878
    5156
    5662
    5663
    6125
    6126
    6127
    6128
    6129
    6130
    6131
    6132
    6133
    6134
    6135
    6136
    6137
    6191
    6205
    6337
    7131
    7578
    7596
    7622
    7908
    10637
    25427
    27917
    30815
    30816

    利用数据库的命令可以查看到更详细的线程信息:

    192.168.100.228 [sde ~]$ db2pd -edus|awk '{print $3,$4}'
    
     
    0 --
    
     
    all
     EDUs
     
    4865
    4863
    4880
     
    TID Kernel
     
    30816 db2agntdp
    30815 db2agntdp
    27917 db2agntdp
    25427 db2agntdp
    10637 db2agntdp
    7908 db2agent
    7622 db2agent
    7596 db2agent
    7578 db2agent
    7131 db2agent
    6337 db2agent
    6205 db2agent
    6191 db2agntdp
    6137 db2evmgi
    6136 db2fw1
    6135 db2fw0
    6134 db2lused
    6133 db2wlmd
    6132 db2pfchr
    6131 db2pfchr
    6130 db2pfchr
    6129 db2pclnr
    6128 db2dlock
    6127 db2lfr
    6126 db2loggw
    6125 db2loggr
    5663 db2stmm
    5662 db2agent
    5156 db2taskd
    4878 db2spmlw
    4877 db2spmrsy
    4876 db2resync
    4875 db2tcpcm
    4874 db2tcpcm
    4873 db2ipccm
    4872 db2licc
    4871 db2thcln
    4870 db2alarm
    4869 db2sysc

    展开全文
  • linux查看进程所有子进程和线程

    万次阅读 2017-07-02 11:19:18
    最后还问了linux下如何查看某个进程下所有线程的情况;进程和线程的区别;其实都没怎么答好,都看过想过,却没有实践并落到实处。这篇可以看作原创也可以看作转载,主要是自己记录一下。   问题: 我的程序在其...
  • Linux上如何查看某个进程的线程

    万次阅读 2018-08-30 19:34:16
    问题: 我的程序在其内部创建并执行了多个线程,我怎样才能在该程序创建线程后监控其中单个线程?我想要看到带有它们名称的单个线程详细情况(如,CPU/内存使用率)。本文参考了百度百科。 线程是现代操作系统上...
  • Linux查看线程

    千次阅读 2019-06-15 03:12:42
    2019独角兽企业重金招聘Python工程师标准>>> ...
  • Linux查看线程信息,定位某线程占用CPU高问题 相关命令:top, ps aux | grep pid, jstack 1、首先使用top命令定位到占用CPU高的进程PID [root@QIANZI-BASE home]# top 查看进程的详细信息 [root@QIANZI-BASE ...
  • linux查看线程的命令

    千次阅读 2013-09-14 17:17:30
    linux查看线程的命令: ps -eLf 返回结果如下: UID PID PPID LWP C NLWP STIME TTY TIME CMD root 1 0 1 0 1 Jun21 ? 00:00:31 init [5] root 2 1 2 0
  • linux查看线程执行情况

    千次阅读 2018-07-15 02:08:50
    问题:我的程序在其内部创建并执行了多个线程,我怎样才能在该程序创建线程后监控其中单个线程?我想要看到带有它们名称的单个线程详细情况(如,CPU/内存使用率)。 线程是现代操作系统上进行并行执行的一个流行的...
  • linux查看线程状态--jstack

    千次阅读 2017-07-01 15:48:31
    linux下运行多线程程序,想查看各个线程的运行情况,怎么办? Linux查看某进程的线程状态: 1.jps或top或ps -ef|grep java,找到需要的进程pid; 2.jstack pid,查看pid的所有线程状态信息;下面为一个示例:...
  • java linux查看线程问题

    千次阅读 2020-08-10 16:20:23
    使用jps -l查看完整的java进程ID和启动主类的包名或jar的完整路径 jps -v输出jvm完整参数 2.jstack jstack -lpid 1>/tmp/jstack.log输出java进程的堆栈信息,-l打印关于锁的附加信息,当线程挂起,无法...
  • Linux查看线程的堆栈信息

    千次阅读 2016-01-18 22:49:39
    2、显示线程,查找线程tid  ps -mp #pid# -o THREAD,tid,time | sort -rn 3、将线程id转化为16进制0xtid  printf "%x\n" #tid# 4、显示线程的堆栈信息  jstack #pid#|grep #0xtid# -A 30
  • Linux 查看线程占用情况

    千次阅读 2016-01-08 14:14:50
    查看线程资源占用情况 top -H -p pid 找到对应的pid,转换成16进制 printf 0x%x pid 然后jstack pid > 文件 在文件中查找16进制pid
  • linux 查看线程状态

    万次阅读 多人点赞 2011-01-19 16:28:00
    1. > top 可以显示所有系统进程 按u, 再输入相应的执行用户名称,比如Tom 可以看到Tom用户启动的所有进程和对应的pid 2. > pstack pid 可以看到此pid下,各线程的运行状态
  • linux查看线程状态

    万次阅读 2018-03-12 13:23:53
    在调试程序时需要查看各个线程的状态,方便定位问题。 解决 方法1、pstree pstree PID 方法2、top top 然后按H,会显示线程 -p 可以指定PID,但是在嵌入式平台很可能被裁掉了 此方法还可以查看...
  • ¥ pstree -p work | grep ad sshd(22669)---bash(22670)---ad_preprocess(4551)-&#43;-{ad_preprocess}(4552)  |-{ad_preprocess}(4553)
  • 在Linux上显示某个进程的线程的几种方式。   方法一:PS ...在ps命令中,“-T”选项可以开启线程查看。...要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可
  • ubuntu(linux)跟踪指定进程的线程执行状态的方法 新建一个用于测试的py文件,内容如下 # coding: utf-8 import threading import time import os import ctypes def func(arg): while True: time....
  • linux查看进程线程数量命令:

    万次阅读 2017-08-19 15:25:33
    linux查看进程线程数量命令:1、root@iZj6c7f7xayisgqsw2hpx8Z:~# pstree -p 1388 | wc -l 498 root@iZj6c7f7xayisgqsw2hpx8Z:~# 2、 root@iZj6c7f7xayisgqsw2hpx8Z:~# cat /proc/1388/status Name: java State:...
1 2 3 4 5 ... 20
收藏数 396,868
精华内容 158,747
关键字:

linux 查看 线程