查看Linux进程CPU过高具体的线程堆栈(不中断程序)

转自:http://blog.csdn.net/mergerly/article/details/47731305

 

1、TOP命令,找到占用CPU最高的进程

 

[plain] view plaincopy
  1. $ top  
  2.   
  3. top - 20:11:45 up 850 days,  1:18,  3 users,  load average: 1.04, 1.01, 0.99  
  4. Tasks:  61 total,   1 running,  60 sleeping,   0 stopped,   0 zombie  
  5. Cpu(s):  1.4% us,  0.1% sy,  0.0% ni, 98.3% id,  0.1% wa,  0.0% hi,  0.2% si  
  6. Mem:  16418172k total, 15693376k used,   724796k free,  1146696k buffers  
  7. Swap: 10223608k total,        0k used, 10223608k free, 12537692k cached  
  8.   
  9.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                  
  10. 24714 ztgame    16   0 1409m 1.2g 4252 S 99.6  7.4   2390:57 IMVChannelServe                                                          
  11.     1 root      16   0  4772  520  432 S  0.0  0.0   0:03.43 init                                                                     
  12.     2 root      RT   0     0    0    0 S  0.0  0.0   0:05.75 migration/0                                                              
  13.     3 root      34  19     0    0    0 S  0.0  0.0   5:22.97 ksoftirqd/0                                                              
  14.     4 root      RT   0     0    0    0 S  0.0  0.0   0:07.90 migration/1                                                              
  15.     5 root      34  19     0    0    0 S  0.0  0.0   0:00.27 ksoftirqd/1                                                              
  16.     6 root      RT   0     0    0    0 S  0.0  0.0   0:04.07 migration/2                                                              
  17.     7 root      34  19     0    0    0 S  0.0  0.0   0:00.47 ksoftirqd/2                                                              
  18.     8 root      RT   0     0    0    0 S  0.0  0.0   0:04.00 migration/3                                                              
  19.     9 root      34  19     0    0    0 S  0.0  0.0   0:00.33 ksoftirqd/3      

 

 

2、通过TOP -H -p 进程ID,找到具体的线程占用情况,Shift+H可以开启关闭线程显示

 

[plain] view plaincopy
  1. $ top -H -p 24714  
  2.   
  3. top - 20:15:30 up 850 days,  1:22,  3 users,  load average: 1.26, 1.09, 1.02  
  4. Tasks:  16 total,   1 running,  15 sleeping,   0 stopped,   0 zombie  
  5. Cpu(s): 24.8% us,  0.3% sy,  0.0% ni, 73.1% id,  0.0% wa,  0.0% hi,  1.8% si  
  6. Mem:  16418172k total, 15701376k used,   716796k free,  1146704k buffers  
  7. Swap: 10223608k total,        0k used, 10223608k free, 12546048k cached  
  8.   
  9.   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                  
  10. 24729 ztgame    16   0 1409m 1.2g 4252 R 97.0  7.4   2307:22 IMVChannelServe                                                          
  11. 24721 ztgame    15   0 1409m 1.2g 4252 S  2.0  7.4  84:22.40 IMVChannelServe                                                          
  12. 24714 ztgame    16   0 1409m 1.2g 4252 S  0.0  7.4   0:03.80 IMVChannelServe                                                          
  13. 24716 ztgame    15   0 1409m 1.2g 4252 S  0.0  7.4   0:00.00 IMVChannelServe                                                          
  14. 24717 ztgame    15   0 1409m 1.2g 4252 S  0.0  7.4   0:00.04 IMVChannelServe                                                          
  15. 24718 ztgame    15   0 1409m 1.2g 4252 S  0.0  7.4   0:00.00 IMVChannelServe                                                          
  16. 24719 ztgame    15   0 1409m 1.2g 4252 S  0.0  7.4   0:00.08 IMVChannelServe                                                          
  17. 24720 ztgame    15   0 1409m 1.2g 4252 S  0.0  7.4   0:00.01 IMVChannelServe                                                          
  18. 24722 ztgame    15   0 1409m 1.2g 4252 S  0.0  7.4   0:00.00 IMVChannelServe                                                          
  19. 24723 ztgame    16   0 1409m 1.2g 4252 S  0.0  7.4   0:00.00 IMVChannelServe                                                          
  20. 24724 ztgame    15   0 1409m 1.2g 4252 S  0.0  7.4   0:00.01 IMVChannelServe                                                          
  21. 24725 ztgame    15   0 1409m 1.2g 4252 S  0.0  7.4   0:09.83 IMVChannelServe                                                          
  22. 24726 ztgame    15   0 1409m 1.2g 4252 S  0.0  7.4   0:00.00 IMVChannelServe                                                          
  23. 24727 ztgame    15   0 1409m 1.2g 4252 S  0.0  7.4   0:00.76 IMVChannelServe                                                          
  24. 24728 ztgame    16   0 1409m 1.2g 4252 S  0.0  7.4   0:00.53 IMVChannelServe                                                          
  25. 24730 ztgame    16   0 1409m 1.2g 4252 S  0.0  7.4   2:42.18 IMVChannelServe                                                          


3、通过命令pstack 进程ID显示线程堆栈,LWP 24729对应线程ID的堆栈,就是占用CPU最高的堆栈,可以具体分析什么原因造成的。

 

 

[plain] view plaincopy
    1. $ pstack 24714  
    2. Thread 16 (Thread 1084229984 (LWP 24716)):  
    3. #0  0x00000039c5a901d5 in __nanosleep_nocancel () from /lib64/tls/libc.so.6  
    4. #1  0x00000039c5ac3058 in usleep () from /lib64/tls/libc.so.6  
    5. #2  0x00000000005ebe10 in zVerifyThread::run ()  
    6. #3  0x00000000005e9d29 in zThread::threadFunc ()  
    7. #4  0x00000039c6106137 in start_thread () from /lib64/tls/libpthread.so.0  
    8. #5  0x00000039c5ac9883 in clone () from /lib64/tls/libc.so.6  
    9. Thread 15 (Thread 1094719840 (LWP 24717)):  
    10. #0  0x00000039c5a901d5 in __nanosleep_nocancel () from /lib64/tls/libc.so.6  
    11. #1  0x00000039c5ac3058 in usleep () from /lib64/tls/libc.so.6  
    12. #2  0x00000000005ebe10 in zVerifyThread::run ()  
    13. #3  0x00000000005e9d29 in zThread::threadFunc ()  
    14. #4  0x00000039c6106137 in start_thread () from /lib64/tls/libpthread.so.0  
    15. #5  0x00000039c5ac9883 in clone () from /lib64/tls/libc.so.6  
    16. Thread 14 (Thread 1105209696 (LWP 24718)):  
    17. #0  0x00000039c5a901d5 in __nanosleep_nocancel () from /lib64/tls/libc.so.6  
    18. #1  0x00000039c5ac3058 in usleep () from /lib64/tls/libc.so.6  
    19. #2  0x00000000005ebe10 in zVerifyThread::run ()  
    20. #3  0x00000000005e9d29 in zThread::threadFunc ()  
    21. #4  0x00000039c6106137 in start_thread () from /lib64/tls/libpthread.so.0  
    22. #5  0x00000039c5ac9883 in clone () from /lib64/tls/libc.so.6  
    23. Thread 13 (Thread 1115699552 (LWP 24719)):  
    24. #0  0x00000039c5a901d5 in __nanosleep_nocancel () from /lib64/tls/libc.so.6  
    25. #1  0x00000039c5ac3058 in usleep () from /lib64/tls/libc.so.6  
    26. #2  0x00000000005ebe10 in zVerifyThread::run ()  
    27. #3  0x00000000005e9d29 in zThread::threadFunc ()  
    28. #4  0x00000039c6106137 in start_thread () from /lib64/tls/libpthread.so.0  
    29. #5  0x00000039c5ac9883 in clone () from /lib64/tls/libc.so.6  
    30. Thread 3 (Thread 1220598112 (LWP 24729)):  
    31. #0  0x00000039c5a71e87 in memset () from /lib64/tls/libc.so.6  
    32. #1  0x00000000004fa591 in ChannelTask::forwardToClientByMedia ()  
    33. #2  0x0000000000506220 in ChannelTask::parseClientMsg_Normal ()  
    34. #3  0x000000000051ef55 in ChannelTask::parseClientMsg ()  
    35. #4  0x000000000051f070 in ChannelTask::cmdMsgParse_Forward ()  
    36. #5  0x000000000051f1d1 in ChannelTask::cmdMsgParse ()  
    37. #6  0x000000000051f414 in ChannelTask::processCmd ()  
    38. #7  0x0000000000523ea8 in ChannelTaskManager::processCmd ()  
    39. #8  0x0000000000525ddd in ChannelTimeTick::run ()  
    40. #9  0x00000000005e9d29 in zThread::threadFunc ()  
    41. #10 0x00000039c6106137 in start_thread () from /lib64/tls/libpthread.so.0  
    42. #11 0x00000039c5ac9883 in clone () from /lib64/tls/libc.so.6  
    43. Thread 2 (Thread 1231087968 (LWP 24730)):  
    44. #0  0x00000039c610af8b in __lll_mutex_lock_wait ()  
    45. #1  0x0000000000000001 in ?? ()  
    46. #2  0x0000000000000065 in ?? ()  
    47. #3  0x00000039c6107d87 in pthread_mutex_lock () from /lib64/tls/libpthread.so.0  
    48. #4  0x0000003a500ae29e in operator delete () from /usr/lib64/libstdc++.so.6  
    49. #5  0x000000000053f59d in ChannelLoadClient::processCmd_DB ()  
    50. #6  0x00000000005986c9 in GameAppClient::processTaskCmd_DB ()  
    51. #7  0x00000039c5a901e3 in __nanosleep_nocancel () from /lib64/tls/libc.so.6  
    52. #8  0x0000000000000000 in ?? ()  
    53. Thread 1 (Thread 182894183104 (LWP 24714)):  
    54. #0  0x00000039c5ac9c5c in epoll_wait () from /lib64/tls/libc.so.6  
    55. #1  0x0000000000620cac in zTCPServer::accept ()  
    56. #2  0x00000000005f9c0d in zNetService::serviceCallback ()  
    57. #3  0x00000000005f89e3 in zService::main ()  
    58. #4  0x0000000000564298 in main ()  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/291089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 编译工具链,Linux工具链for TKStudio下载_Linux工具链for TKStudio官方下载-太平洋下载中心...

Linux工具链for TKStudio是一款支持TKStudio IDE集成开发环境的辅助LINUX交叉编译工具链软件,交叉编译就是跨架构编译,编译出来的程序不能在本机执行(当然有例外情况)。所以这个时候就需要交叉编译工具链。译工具链一般最简化的为 binutils gcc glibc …

pom.xml配置详解

http://blog.csdn.net/uohzoaix/article/details/7035307转载于:https://www.cnblogs.com/friends-wf/p/3829580.html

Android之在Activity中动态得到Adapter类中数据

1、问题 Activity中动态得到Adapter数据2、解决办法 在Adapter中写入接口Class Adapter {Interface A {void onClick(int a, int b);}A a;public void setListen (A a) {this.a a;}public void A (int a, int b) {if (a ! null ) {a.onClick(a, b);}}} class MainActivity ex…

Convolutional Neural Networks for Visual Recognition 1

Introduction 这是斯坦福计算机视觉大牛李菲菲最新开设的一门关于deep learning在计算机视觉领域的相关应用的课程。这个课程重点介绍了deep learning里的一种比较流行的模型:Convolutional Neural Networks,简称CNN,主要利用CNN来做visual r…

记一次 .NET 某供应链WEB网站 CPU 爆高事故分析

一:背景 1. 讲故事年前有位朋友加微信求助,说他的程序出现了偶发性CPU爆高,寻求如何解决,截图如下:我建议朋友用 procdump 在 cpu 高的时候连抓两个dump,这样分析起来比较稳健,朋友也如期的成功…

html5做的太阳系

效果图&#xff1a; 源代码&#xff1a; <!DOCTYPE html><html><head><meta charset"UTF-8"> <title></title></head><body><canvas id"canvas" width"1000" height"1000" style&…

html中#include file的使用方法

有两个文件a.htm和b.htm&#xff0c;在同一文件夹下a.htm内容例如以下 <!-- #include file"b.htm" --> b.htm内容例如以下 今天&#xff1a;雨 31 ℃&#xff5e;26 ℃ <br />明天&#xff1a;雷阵雨 33 ℃&#xff5e;27 ℃ 直接在浏览器中打开a&#…

Android之第一次不显示EditText光标

1、问题 光标会默认显示在第一个EditText框中&#xff0c;如果不想显示光标&#xff0c;且也不想把该光标移动到下一个EditText框。2、解决办法 在该 EditText之前增加一个不可见的LinearLayout<LinearLayout android:focusable"true"android:focusableInTouchMod…

读取bmp图片数据

1 public void getBMPImage(String source) throws Exception {2 3 clearNData(); //清除数据保存区4 FileInputStream fs null;5 6 try {7 fs new FileInputStream(source);8 int bfLen 14;9 …

Windows 11 任务管理器重磅升级!界面迎来全新设计,十年来首次大改!

面向 Dev 频道的 Windows 预览体验成员&#xff0c;微软近日发布了 Windows 11 预览版 Build 22557。在此版本中&#xff0c;任务管理器迎来了全新的设计&#xff0c;这是其自 Windows 8 以来的首次变更&#xff0c; 也是任务管理器十年来最大的一次升级。史诗级更新&#xff0…

modbus调试工具 linux,linux libmodbus的移植

1.前言Modbus是一个工业通信系统&#xff0c;由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。2.移植步骤第一&#xff0c;进入libmodbus目录下&#xff0c;在交叉编译器是最好…

Android之用 ExpandableListView使用解析(三级列表的实现)

&#xfeff;&#xfeff;Android之用 ExpandableListView使用解析&#xff08;三级列表的实现&#xff09; 下载地址如下&#xff1a;http://download.csdn.net/download/u011068702/9839848

微博自媒体,一个新的生态

昨日&#xff0c;微博、UC和360&#xff0c;三方宣布将联合打造自媒体平台&#xff0c;这是继微信公众平台、搜狐新闻客户端、百度百家、今日头条之后的又一大自媒体平台。自媒体平台之争正愈演愈烈&#xff0c;而这对自媒体人和读者来说都算是好事。为何巨头们钟爱自媒体起初微…

开发者说PaddleOCR的.NET封装与应用部署

本项目是一个基于PaddleOCR的C代码修改并封装的.NET的工具类库。包含文本识别、文本检测、基于文本检测结果的统计分析的表格识别功能&#xff0c;同时针对小图识别不准的情况下&#xff0c;做了优化&#xff0c;提高识别准确率。项目包含总模型仅8.6M的超轻量级中文OCR&#x…

转载 雨松mono Unity获取游戏对象详解(来自我的长微博)

Unity获取游戏对象详解&#xff08;来自我的长微博&#xff09; 转载 自 雨松mono 本文固定链接: http://www.xuanyusong.com/archives/2768转载请注明: 雨松MOMO 2014年06月16日 于 雨松MOMO程序研究院 发表我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样&a…

ps之解决eps图片不能保存为png格式问题

1、问题 eps图片不能保存为png问题&#xff0c;日了狗 2、解决办法 原因&#xff1a; 在cmyk模式下&#xff0c;png不支持印刷输出的CMYK模式 在lab模式下&#xff0c;png或jpg不能存储LAB模式的色彩信息 将图片保存为png方法步骤&#xff1a; 图像——模式——选择RGB模式 3、…

linux怎么看是否安装kde桌面,ubuntu 7上安装kde桌面

开始使用Red Hat是因为一次服务器配置的需要&#xff0c;学院的精品课程建设需要自己建立一个支持JSP/Servlet 的服务器&#xff0c;由于以前做开发一直在windows平台下开发很少在linux下进行开发&#xff0c;最多也就是在linux 下进行测试。不过Red Hat的体积确实不敢恭维&am…

CSHOP后台设置SMTP发邮件提示 Error: need RCPT command 错误解决

其实错误原因并不是因为此错误&#xff0c;经检测&#xff0c;邮件服务器返回的真实错误是 501 mail from address must be same as authorization user 。只因为同时返回了 503 Error: need MAIL command 和 503 Error: need RCPT command &#xff0c;而ECSHOP只提示了最后一…

AngularJS之watch

简介 首先apply方法会触发evel方法&#xff0c;当evel方法解析成功后&#xff0c;会去触发digest方法&#xff0c;digest方法会触发watch方法。 在digest执行时&#xff0c;如果watch观察的的value与上一次执行时不一样时&#xff0c;就会被触发。 AngularJS内部的watch实现了页…

真不值!技术大神,却只是阿里P6...

阅读本文大概需要5分钟。昨天在知乎上看到一个程序员发展的好问题&#xff1a;死月是前端领域一个比较知名的IP&#xff0c;之前在大搜车带领整个node团队&#xff0c;出过书写过技术专栏&#xff0c;在业内享有比较高的知名度。认识死月的同学都对他评价非常高&#xff0c;甚至…