2018-09-09 14:40:58 qian_feifei 阅读数 2286
  • linux线程全解-linux应用编程和网络编程第7部分

    本课程讲解linux中线程,首先使用多进程解决上个课程中提出的并发式读取按键和鼠标的任务,然后引出多线程并讲解多线程的优势,后详细讲了多线程的同步技术。学习本课程的目的是学会在linux应用编程中使用多线程技术。

    5048 人正在学习 去看看 朱有鹏

Linux查看线程信息,定位某线程占用CPU高问题

相关命令:top, ps aux | grep pid, jstack

1、首先使用top命令定位到占用CPU高的进程PID

[root@QIANZI-BASE home]# top

查看进程的详细信息

[root@QIANZI-BASE home]# ps aux | grep PID

2、获取线程信息,并找到占用CPU高的线程

[root@QIANZI-BASE home]# ps -mp pid -o THREAD,tid,time | sort -rn

3、将需要的线程ID转换为16进制格式

[root@QIANZI-BASE home]# printf "%x\n" tid

4、打印线程堆栈信息

[root@QIANZI-BASE home]# jstack pid | grep tid -A 30

 

2018-03-12 13:23:53 baidu_33850454 阅读数 16701
  • linux线程全解-linux应用编程和网络编程第7部分

    本课程讲解linux中线程,首先使用多进程解决上个课程中提出的并发式读取按键和鼠标的任务,然后引出多线程并讲解多线程的优势,后详细讲了多线程的同步技术。学习本课程的目的是学会在linux应用编程中使用多线程技术。

    5048 人正在学习 去看看 朱有鹏

前言

在调试程序时需要查看各个线程的状态,方便定位问题。

解决

方法1、pstree

pstree PID

这里写图片描述

方法2、top

top 
然后按H,会显示线程
-p 可以指定PID,但是在嵌入式平台很可能被裁掉了

此方法还可以查看线程状态
这里写图片描述

方法3、ps

ps -T

这里写图片描述

2011-01-19 16:28:00 wind_324 阅读数 20222
  • linux线程全解-linux应用编程和网络编程第7部分

    本课程讲解linux中线程,首先使用多进程解决上个课程中提出的并发式读取按键和鼠标的任务,然后引出多线程并讲解多线程的优势,后详细讲了多线程的同步技术。学习本课程的目的是学会在linux应用编程中使用多线程技术。

    5048 人正在学习 去看看 朱有鹏

1. > top

可以显示所有系统进程

按u, 再输入相应的执行用户名称,比如Tom

可以看到Tom用户启动的所有进程和对应的pid

2. > pstack pid

可以看到此pid下,各线程的运行状态


2016-01-18 22:49:39 u012050427 阅读数 3353
  • linux线程全解-linux应用编程和网络编程第7部分

    本课程讲解linux中线程,首先使用多进程解决上个课程中提出的并发式读取按键和鼠标的任务,然后引出多线程并讲解多线程的优势,后详细讲了多线程的同步技术。学习本课程的目的是学会在linux应用编程中使用多线程技术。

    5048 人正在学习 去看看 朱有鹏

1、使用top命令,查找pid

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

2013-09-14 17:17:30 HJQQINGQING 阅读数 953
  • linux线程全解-linux应用编程和网络编程第7部分

    本课程讲解linux中线程,首先使用多进程解决上个课程中提出的并发式读取按键和鼠标的任务,然后引出多线程并讲解多线程的优势,后详细讲了多线程的同步技术。学习本课程的目的是学会在linux应用编程中使用多线程技术。

    5048 人正在学习 去看看 朱有鹏

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    1 Jun21 ?        00:00:00 [migration/0]
root         3     1     3  0    1 Jun21 ?        00:00:00 [ksoftirqd/0]
root         4     1     4  0    1 Jun21 ?        00:00:00 [migration/1]
root         5     1     5  0    1 Jun21 ?        00:00:00 [ksoftirqd/1]
root         6     1     6  0    1 Jun21 ?        00:00:00 [events/0]
root         7     1     7  0    1 Jun21 ?        00:00:00 [events/1]
root         8     1     8  0    1 Jun21 ?        00:00:00 [khelper]
root         9     1     9  0    1 Jun21 ?        00:00:00 [kthread]
root        13     9    13  0    1 Jun21 ?        00:00:00 [kblockd/0]
root        14     9    14  0    1 Jun21 ?        00:00:00 [kblockd/1]
root        15     9    15  0    1 Jun21 ?        00:00:00 [kacpid]
root        16     9    16  0    1 Jun21 ?        00:00:00 [kacpi_notify]
root       212     9   212  0    1 Jun21 ?        00:00:03 [pdflush]
root       213     9   213  0    1 Jun21 ?        00:04:12 [pdflush]
root       214     1   214  0    1 Jun21 ?        00:01:47 [kswapd0]
root       215     9   215  0    1 Jun21 ?        00:00:00 [aio/0]


查看java线程数命令:

ps -eLf |grep jdk1.6|wc



linux 查看线程状态

阅读数 200

Linux 查看线程

阅读数 589

Linux查看线程

阅读数 533

没有更多推荐了,返回首页