当前位置:  技术问答>linux和unix

如何查找CPU占用率较高的线程是哪一个?

    来源: 互联网  发布时间:2017-01-20

    本文导语:  某一个线程CPU占用率较高,导致应用程序响应缓慢,如何才能够找到罪魁祸首? 在/proc文件系统中,有该进程的相关信息,进入task子目录,里面是所有的线程信息。 依次进入各个线程的子目录,打开status文件,里面...

某一个线程CPU占用率较高,导致应用程序响应缓慢,如何才能够找到罪魁祸首?

在/proc文件系统中,有该进程的相关信息,进入task子目录,里面是所有的线程信息。
依次进入各个线程的子目录,打开status文件,里面有SleepAVG的字样,如果后面的值较小则说明线程比较繁忙。

我这里有一个线程的SleepAVG是0%,持续的,感觉像是死循环。
但是没法儿找到具体是哪一个线程,有没有好办法?

|
一般情况下,可以通过top或者ps指令获取某进程相关的线程信息,这取决于你具体使用的线程库(如:NTPL)。
同时,这里也存在限制,你很难知道具体是对应你的代码中的哪个线程。

1. 简单做就是线程中dead loop时的打印,通过打印的频度就可以知道哪个线程负荷较重;
·实现简单,也比较笨。
2. 比较根本的办法是为每个线程设定一个名称,然后在proc文件系统中查看线程的信息,根据线程名称来定位
·实现简单,比较根本。

// 在线程入口处执行下面代码
prctl ( PR_SET_NAME, ( unsigned long ) "yourTask" );



1. ps -ef |grep YourProcName
2. cd /proc/$PID/task
3. for pid in `ls`
do
echo "========= $pid ========="
cat $pid/status |grep Name
done
// 这样就获取了名称与ID的绑定关系
4. for pid in `ls`
do
echo "========= $pid ========="
cat $pid/status |grep SleepAVG
done
// 这样就获取了CP负荷与ID的关系
5. 对照3/4,就可以知道是哪个具体的线程CP负荷较高了。

|
top -H
H 开关可以列出线程. PID将是线程ID.
不加选项起动top后, 再键入'H'也可以.

|
我想了一下还真没找到办法,期待高手,主要是要知道pthread_t和task里面的文件夹名是如何对应的

|
不会开发 不太懂
如果是自己写的代码  多斟酌一些自己的代码啊

|
为什么不用gdb调试下呢?

|
你用top命令看不到吗?

|
为什么不用gdb调试下呢?

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Strings(字符串) 成员 rfind():查找最后一个与value相等的字符(逆向查找)
  • Linux查找包含指定文字的文件(linux查找指定文件)
  • C++ Maps 成员 find():查找一个元素
  • php顺序查找与二分查找实例
  • C++ MultiMaps 成员 find():查找元素
  • php顺序查找和二分查找示例
  • C++ Strings(字符串) 成员 find():在字符串中查找字符
  • 在unix查找某个目录下一小时前的生成的文件,怎么查找?find只能按天来查。
  • C++ Strings(字符串) 成员 find_first_of():查找第一个与value中的某值相等的字符
  • vim怎么查找并替换 “[bx][si]”呢。。貌似是因为两个中括号连在一起查找不到。。
  • C++ Strings(字符串) 成员 find_last_of():查找最后一个与value中的某值相等的字符
  • Linux下怎么查找指定文件大小的文件?如查找100MB以上的文件
  • C++ Strings(字符串) 成员 find_first_not_of():查找第一个与value中的所有值都不相等的字符
  • 还发一个查找文件的贴子,给一个相对目录USR0怎样用JAVA查找其下的文件
  • C++ Strings(字符串) 成员 find_last_not_of():查找最后一个与value中的所有值都不相等的字符
  • java 折半查找法(二分查找)实例
  • Linux c++库boost unordered_set数据插入及查找代码举例
  • php字符串查找 查找字符最后一次出现位置
  • HASH查找的程序实现及性能分析
  • java开发知识 iis7站长之家
  • Linux c++库boost unordered_map数据插入及查找代码举例
  • 高分急求:UNIX环境下查找字符串的问题 (给出文件路径,和需要查找的字符串)工作急需,恳求各位高手帮忙!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3