如何获得系统system 进程 占用率高占用CPU率

Linux系统下怎样查看进程的CPU占用率
  在前面的文章中我们曾向大家介绍了,不知道大家觉得怎么样呢!现在我们要向大家介绍一下Linux系统下怎样查看进程的CPU占用率!下面大家还是跟着我们5636网吧联盟的栏目一起去看看吧!
  据了解,通常/proc下每个进程都有一个目录,目录下的stat文件可以得到关于该进程的信息,如:#cat/proc/2122/stat
  2122 (sshd) S 22 0 -1 7 0 1 20 3 12 0 15 0 1 0
0 0 0 17 0 0 0
  每一项的具体内容可以看man:man5proc
  cpu的占用率似乎并不能直接得到,大家需要自己去计算,个人猜想做法是从/proc得到所有进程的信息,通过每个进程的运行时间,可以计算出某个进程的占用率
  ,给大家参考一下,还没整理的:
  charbuf[64];
  sprintf(buf,&/proc/%d/stat&,pid);
  FILE*fid=fopen(buf,&r&);
  if(fid){
  fscanf(fid,&%d%s%c%d%d%d%d%d%lu%lu&
  &%lu%lu%lu%lu%lu%ld%ld%ld%ld%ld&
  &%ld%ld%lu%lu%ld%lu%lu%lu%lu%lu&,
  &pstat[0],buf,&pstat[2],&pstat[3],&pstat[4],&pstat[5],&pstat[6],&pstat[7],
  &pstat[8],&pstat[9],&pstat[10],&pstat[11],&pstat[12],&pstat[13],&pstat[14],&pstat[15],
  &pstat[16],&pstat[17],&pstat[18],&pstat[19],&pstat[20],&pstat[21],&pstat[22],&pstat[23],
  &pstat[24],&pstat[25],&pstat[26],&pstat[27],&pstat[28],&pstat[29],&pstat[30]);
  fclose(fid);
  。。。。。
  ut=pstat[13];
  st=pstat[14];
  cut=pstat[15];
  cst=pstat[16];
  。。。。。
  ts=time(NULL)-
  百分比=(ut+st-sut-sst)/ts
  Linux系统下查看进程的CPU占用率的方法就是这样了,大家如果还有不明白的地方可以去本站的网吧系统栏目去查找,如果找不到解决办法,可以留言一起讨论,当然如果大家有什么好的资料也可以和我们一起分享哦!
以上内容整理自互联网,如有侵权,请立即与小编联系,小编将及时处理。转载或引用本网版权所有之内容请注明来源,感谢您对本站的支持!联系QQ: 欢迎加入网吧行业交流1群:
2群:(已满)
<span style="color:#17-07-31
<span style="color:#17-07-31
<span style="color:#17-07-29
<span style="color:#17-07-29
<span style="color:#17-07-28
<span style="color:#17-07-28
<span style="color:#17-07-27
<span style="color:#17-07-27
<span style="color:#17-07-26
<span style="color:#17-07-26
<span style="color:#17-07-25
<span style="color:#17-07-25如何解决svchost进程占用cpu过多_百度经验
&&&&&&&&&电脑软件如何解决svchost进程占用cpu过多听语音123
百度经验:很多用户都遇见过机器突然变慢的情况,而且经过任务管理器查看,发现一个叫做”svchost.exe“的进程占用了大量的CPU和系统资源,而且这个进程似乎是一个很重要的系统进程,不能随随便便就kill掉,那么造成这种缓慢的原因会是什么呢?让我们细细说来……百度经验:1驱动没有经过认证,造成CPU资源占用100%。大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。建议使用驱动精灵来安装最佳驱动版本2防杀毒软件造成故障。由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。3病毒、木马造成。大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:使用最新的杀毒软件在DOS模式下进行杀毒。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。4控制面板—管理工具—服务—RISINGREALTIMEMONITORSERVICE点鼠标右键,改为手动。5关闭瑞星软件的“硬盘定时备份”项。卸载现有的瑞星程序,然后下载最新完整升级包,用WINRAR解开以后再安装。6开始->运行->msconfig->启动,关闭不必要的启动项,重启。7查看“svchost”进程是否为病毒冒充。8查看网络连接。主要是网卡。9把网卡、显卡、声卡卸载,然后重新安装一下驱动。10重装系统、常用软件、当然也要装驱动,用几天看一下。若不会出现这种问题,再装上其他软件,但是最好是一个软件装完,先用几天。现会出现问题再接着装。END百度经验:Svchost.exe是WindowsXP系统的一个核心进程。Svchost.exe不单单只出现在WindowsXP中,在使用NT内核的Windows系统中都会有Svchost.exe的存在。一般在Windows2000中Svchost.exe进程的数目为2个,而在WindowsXP中Svchost.exe进程的数目就上升到了4个及4个以上。而在最新的VIsta和Win7中,Svchost.exe的数量会变得更多,最多甚至可以达到17个。如何才能辨别哪些是正常的Svchost.exe进程,而哪些是病毒进程呢?   Svchost.exe的键值是在“HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsNTCurrentVersionSvchost”,每个键值表示一个独立的Svchost.exe组。   微软还为我们提供了一种察看系统正在运行在Svchost.exe列表中的服务的方法。以WindowsXP为例:在“运行”中输入:cmd,然后在命令行模式中输入:tasklist/svc。系统列出服务列表。如果使用的是Windows2000系统则把前面的“tasklist/svc”命令替换为:“tlist-s”即可。   如果你怀疑计算机有可能被病毒感染,Svchost.exe的服务出现异常的话通过搜索Svchost.exe文件就可以发现异常情况。一般只会找到一个在:“C:WindowsSystem32”目录下的Svchost.exe程序。如果你在其他目录下发现Svchost.exe程序的话,那很可能就是中毒了。   还有一种确认Svchost.exe是否中毒的方法是在任务管理器中察看进程的执行路径。但是由于在Windows系统自带的任务管理器不能察看进程路径,所以要使用第三方的进程察看工具。经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(0)已投票(0)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验8011330热门杂志第1期你不知道的iPad技巧3576次分享第1期win7电脑那些事6260次分享第2期新人玩转百度经验1236次分享第1期Win8.1实用小技巧2550次分享第1期小白装大神1749次分享◆请扫描分享到朋友圈查看: 2199|回复: 0
如何限制单个进程的CPU占用率过高
阅读权限20
注册会员, 积分 117, 距离下一级还需 33 积分
对于买不起多核处理器的朋友,最怕遇到的事情就是单个进程的CPU 占用率过高。比如
我的 CPU 已经是Core 2系列移动CPU的旗舰产品X9100,但是在视频转换时上硬件论坛(图
片很多)顺便再打开个QQ视频聊天,感觉就非常不爽。由于我的笔记本电脑的主板不支持&&
四核心处理器,于是我只能从“软”的方面入手,限制单个进程的CPU占用率。
试图限制 CPU 占用率不是什么新鲜的想法。记得早在2004年时,Intel出了Prescott
核心的 Pentium 4处理器,这种核心的处理器的特点是,普及了超线程技术(之前超线程技
术只应用在顶级的NorthWood核心的Pentium 4上)。超线程技术(HT)能把一颗物理核心
映射成两颗逻辑核心,提高了多线程任务的效率。说白了就是,当出现了一个狂占CPU核心
的线程时,电脑不会“卡死”。(说句题外话,Core 2系列CPU没有超线程技术,但是现在
的 Core i系列CPU又重现了超线程技术,不过换了个马甲,叫做SMT,中文译名是“并发
多线程”)。而同样是Prescott核心的Celeron D处理器不仅被阉割了前端总线和二级缓存,
连超线程技术也一并没了踪影。于是人们在痛骂INTEL不厚道的同时,也在寻找替代超线程
技术的办法。就在此时,出现了一款号称能替代超线程技术的软件,它能限制单一进程的
CPU 占用率,这个软件还一度登上了华军的软件下载排行榜。不过经网友测试,又是骂声一
片,因为它只是通过“优先级”来限制进程的CPU占用率。后来,这个软件就从下载排行榜
消失了,网上再也没有出现过类似的软件。
为什么通过优先级来限制单个进程的CPU占用不行呢?我们一测便知。首先打开Super
PI(最著名的CPU单核性能测试工具,每当Intel/AMD发布新产品,总能看到各大媒体的测
试文章中看到它的身影)进行1M 测试(计算PI后104 万位)。我的CPU 主频是
266*13=3458MHz,核心电压 1.263V。当进程的优先级别为“普通”时,耗时13.650s,当进
程优先级为“低”时,耗时13.689s。而运行时的CPU 占用率(指“任务管理器”显示的进
程 CPU占用率),一直维持在49%左右。
很明显,调节进程优先级是无法解决问题的。于是我又询问了一些网友,得到两个答案:
一是通过 Hook KiSwapContext来限制某个进程的线程获得CPU时间片,二是通过作业来限
制进程的 CPU 占用率。不过很可惜,这两个方案都不可行。第一个方案就不用说了,Hook
不稳定,特别是这种未公开且调用很频繁的底层函数。第二个方案的说法有歧义,作业确实
能限制进程的使用CPU,不过是:如果进程使用了一定数量的CPU 时间片,就把进程给杀掉
(详情请参见《Windows Via C/C++》,作者是Jeffrey Richter和 Christopher Nasarre www.jybase.net)。
某天中午我突发奇想,决定交替使用NtSuspendProcess和 NtResumeProcess来限制单
个进程的 CPU 占用率。首先,一旦进程被暂停,自然就不能占用CPU 了,其次,暂停进程只
会拖慢进程工作,不会扰乱进程工作。我随后就编码测试,结果证明,这个看似脑残的想法
竟然十分有效。
整个解决方案的流程很简单,只有两步:&&
1.获得要限制CPU 占用率的进程的句柄;
2.每隔 50ms,依次调用 NtSuspendProcess 和 NtResumeProcess。比如第 50ms 调用了
NtSuspendProcess,第100ms就调用NtResumeProcess。第150ms调用NtSuspendProcess,
第 200ms就调用NtResumeProcess,如此类推下去。
程序代码如下:
Private Declare Function&&OpenProcess Lib &kernel32.dll& (ByVal dwDesiredAccess
As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function&&NtSuspendProcess Lib &ntdll.dll& (ByVal hProc As Long)
Private&&Declare&&Function&&NtResumeProcess Lib &ntdll.dll& (ByVal hProc As Long) As Long
Private hProc As Long
Private Sub LimitCPU_Click()
& & hProc = OpenProcess(&H1F0FFF, 0, CLng(Text1.Text))
& & WorkingTimer.Interval = 50 '时间间隔为50ms
& & WorkingTimer.Enabled = True '开始限制CPU占用率
Private Sub WorkingTimer_Timer()
Static x As Long
If x = 0 Then
& & NtSuspendProcess hProc
& & NtResumeProcess hProc
此部分有两项测试,分别是理论测试和实际测试。理论测试使用Super PI&&2M进行测试,
实际测试使用“曦力音视频转换专家”进行测试。CPU 的主频仍然是Core 2 Extreme
X=3458MHz],核心电压也仍然是1.263V。
1.Super PI 2M测试
1.&&不限制 CPU占用率
耗时40.978s: CPU 占用率50%:
2.使用我的程序限制CPU占用率
耗时 77.687s:&&
CPU占用率24%~26%:
2.曦力音视频转换专家转换RMVB视频测试
1.不限制 CPU 占用率
CPU 占用率73%:
2.使用我的程序限制CPU占用率
CPU 占用率35%~44%:
经测试,这种限制单个进程CPU占用的方法比较有效,能使限制后的CPU占用率达到限
制前的 1/2,当然,处理时间也几乎变成了原来的一倍。如果有人问我如何解决“处理时间
延长一倍”的问题,我只能说:“给您的CPU加上较高的电压,再使用液氮散热,然后把外
频或者倍频加倍。PS:烧了 CPU别找我麻烦”。
在写本文之前我在紫水晶编程论坛内部版发帖说明我的思路,有的网友认为应该加上动
态监控部分,当指定进程的CPU占用率较高时才开始限制。不过我明确表示反对。因为不断
获得(每隔 50ms)某个进程的 CPU 占用率本可能需要大量的资源开销,同样浪费 CPU,这样
就失去了这个解决方案存在的意义(我的程序在运行时的CPU占用率一直为0)。
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
VC驿站微信公众号cctry2009
Powered by Discuz! X3.4Linux系统查看CPU使用率的几个命令
在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。
对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就不要超过6。如果队列长期保持在3以上,说明任何一个进程运行时都不能马上得到cpu的响应,这时可能需要考虑升级cpu。另外满负荷运行cpu的使用率最好是user空间保持在65%~70%,system空间保持在30%,空闲保持在0%~5% 。
下面总结下查看CPU使用率常用的几个命令。
这个命令很常用,在第三行有显示CPU当前的使用情况。
[root@li676-235 ~]# top -bn 1 -i -c
top - 14:19:51 up 138 days, 7:15, 1 user, load average: 0.20, 0.33, 0.39
Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.5%us, 3.8%sy, 0.0%ni, 91.0%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1014660k total, 880512k used, 134148k free, 264904k buffers
Swap: 262140k total, 34788k used, 227352k free, 217144k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12760 root 20 0
1632 R 2.0 0.2 0:00.01 top -bn 1 -i -c
如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。
%us:表示用户空间程序的cpu使用率(没有通过nice调度)
%sy:表示系统空间的cpu使用率,主要是内核程序。
%ni:表示用户空间且通过nice调度过的程序的cpu使用率。
%id:空闲cpu
%wa:cpu运行时在等待io的时间
%hi:cpu处理硬中断的数量
%si:cpu处理软中断的数量
%st:被虚拟机偷走的cpu
之前在本博客中有介绍过的使用,详细使用和参数介绍参考网址:http://www.sijitao.net/1925.html 。
[root@li676-235 ~]# vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
132 16 16 421 385 2 2 5 4 91 1 0
884 0 0 0 0 133 134 15 6 79 0 0
704 0 0 0 88 267 278 63 18 19 0 0
904 0 0 0 0 71 82 12 4 84 0 0
540 0 0 0 4 261 246 61 23 16 0 0
sar命令语法和vmstat一样。命令不存在时需要安装sysstat包,这个包很有用。
例如每1秒采集一次CPU使用率,共采集5次。
[root@li676-235 ~]# sar -u 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:41:25 PM CPU %user %nice %system %iowait %steal %idle
02:41:26 PM all 64.71 0.00 18.63 0.00 0.98 15.69
02:41:27 PM all 29.47 0.00 22.11 14.74 0.00 33.68
02:41:28 PM all 67.33 0.00 31.68 0.99 0.00 0.00
02:41:29 PM all 7.00 0.00 2.00 0.00 0.00 91.00
02:41:30 PM all 69.00 0.00 23.00 0.00 0.00 8.00
Average: all 47.79 0.00 19.48 3.01 0.20 29.52
和top一样,可以看到所有cpu的使用情况。如果需要查看某颗cpu的使用可以用-P参数。例如指定显示0号cpu 的使用情况。
[root@li676-235 ~]# sar -P 0 -u 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:45:14 PM CPU %user %nice %system %iowait %steal %idle
02:45:15 PM 0 44.00 0.00 52.00 4.00 0.00 0.00
02:45:16 PM 0 9.28 0.00 26.80 62.89 1.03 0.00
02:45:17 PM 0 3.06 0.00 14.29 81.63 1.02 0.00
02:45:18 PM 0 4.12 0.00 22.68 72.16 1.03 0.00
02:45:19 PM 0 4.12 0.00 22.68 72.16 1.03 0.00
Average: 0 13.09 0.00 27.81 58.28 0.82 0.00
进程队列长度和平均负载状态
例如每1秒采集一次,共采集5次。
[root@li676-235 ~]# sar -q 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:48:47 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
02:48:48 PM 1 133 0.34 0.43 0.41
02:48:49 PM 2 132 0.34 0.43 0.41
02:48:50 PM 1 133 0.34 0.43 0.41
02:48:51 PM 2 134 0.31 0.42 0.40
02:48:52 PM 1 133 0.31 0.42 0.40
Average: 1 133 0.33 0.43 0.41
runq-sz:运行队列的长度(等待运行的进程数)
plist-sz:进程列表中进程(processes)和线程(threads)的数量
ldavg-1:最后1分钟的系统平均负载(System load average)
ldavg-5:过去5分钟的系统平均负载
ldavg-15:过去15分钟的系统平均负载
进程创建的平均值和上下文切换的次数
例如每1秒收集一次,共收集5次。
[root@li676-235 ~]# sar -w 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
02:54:03 PM proc/s cswch/s
02:54:04 PM 1.01 156.57
02:54:05 PM 1.00 132.00
02:54:06 PM 2.00 201.00
02:54:07 PM 2.02 126.26
02:54:08 PM 2.00 114.00
Average: 1.61 145.98
sar命令也可以获取过去指定日期的性能参数。
[root@li676-235 ~]# sar -u -f /var/log/sa/sa20
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
01:10:01 PM CPU %user %nice %system %iowait %steal %idle
01:20:02 PM all 25.78 0.00 8.88 3.59 0.15 61.60
01:30:01 PM all 26.06 0.00 9.96 3.33 0.10 60.55
01:40:01 PM all 25.73 0.00 9.17 3.70 0.09 61.32
01:50:01 PM all 25.70 0.00 9.50 2.79 0.12 61.89
02:00:01 PM all 26.70 0.00 9.73 2.20 0.10 61.28
02:10:01 PM all 26.16 0.00 9.56 4.34 0.11 59.82
02:20:01 PM all 25.49 0.00 9.61 2.76 0.07 62.07
02:30:01 PM all 26.47 0.00 9.94 0.64 0.30 62.65
02:40:02 PM all 27.32 0.00 10.37 3.86 0.15 58.30
02:50:02 PM all 26.98 0.00 10.38 4.56 0.13 57.95
Average: all 26.24 0.00 9.71 3.18 0.13 60.74
这个命令也在sysstat包中,语法类似。
例如每1秒收集一次,共5次。
[root@li676-235 ~]# mpstat 1 5
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
03:01:18 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:01:19 PM all 52.53 0.00 23.23 0.00 0.00 0.00 0.00 0.00 24.24
03:01:20 PM all 21.00 0.00 4.00 0.00 0.00 0.00 0.00 0.00 75.00
03:01:21 PM all 53.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 29.00
03:01:22 PM all 26.00 0.00 3.00 0.00 0.00 0.00 0.00 0.00 71.00
03:01:23 PM all 46.00 0.00 18.00 0.00 0.00 0.00 0.00 0.00 36.00
Average: all 39.68 0.00 13.23 0.00 0.00 0.00 0.00 0.00 47.09
cpu使用情况比sar更加详细些,也可以用-P指定某颗cpu 。
这个命令主要用来查看io使用情况,也可以来查看cpu,个人感觉不常用。
[root@li676-235 ~]# iostat -c 1 2
Linux 3.18.5-x86_64-linode52 (li676-235) 07/20/2015 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
4.53 0.01 3.81 0.63 0.04 90.99
avg-cpu: %user %nice %system %iowait %steal %idle
38.00 0.00 14.00 0.00 0.00 48.00
每秒cpu使用率情况获取
[root@li676-235 ~]# dstat -c
----total-cpu-usage----
usr sys idl wai hiq siq
5 4 91 1 0 0
27 11 62 0 0 0
52 11 37 0 0 0
26 10 63 0 0 1
50 13 37 0 0 1
21 6 72 0 0 0
最占cpu的进程获取
[root@li676-235 ~]# dstat --top-cpu
-most-expensive-
cpu process
mysqld 1.5
php-fpm: pool 24
《sar命令详解》:http://lovesoo.org/linux-sar-command-detailed.html
Trackbacks (0)
还没有Trackbacks
: 不错不错。谢谢博主分享。
: 看不懂。。。。。。。。
: 谢谢博主分享
: 谢谢博主分享。看见代码就头疼,
: 感觉好难的说。
: access 数据库还是。。
: 得慢慢磨了。。
: 哇哦,好专业的博客。Linux下java进程CPU占用率高-分析方法 -
- ITeye博客
今天登陆同事的一台gateway 开始以为hive环境登陆不了了,仔细一看看了下是因为机器很卡,我每次等几秒没登陆就ctrl+c了,看了下是有个java进程cpu:340.4%& mem:14.6%
一般解决方法是通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用
1. 通过top命令找到可疑进程PID
top 一下
可以看出java进程CPU利用率一直保持100%,稳居不下,找到PID 24138
2. 找出消耗资源最高的线程
top -H -p& 29580& 可以不用第一步,直接执行命令 top -H ,就可以查看到消耗资源最高的线程
top - 20:42:01 up 633 days,& 9:30,& 9 users,& load average: 6.75, 8.32, 15.86
Tasks:& 28 total,&& 2 running,& 26 sleeping,&& 0 stopped,&& 0 zombie
Cpu(s): 42.4%us,& 4.3%sy,& 0.0%ni, 53.1%id,& 0.0%wa,& 0.0%hi,& 0.1%si,& 0.1%st
Mem:&& 7680000k total,& 5774940k used,& 1905060k free,&& 400792k buffers
Swap:& 2096472k total,&& 876580k used,& 1219892k free,& 1727652k cached
& PID USER&&&&& PR& NI& VIRT& RES& SHR S %CPU %MEM&&& TIME+& COMMAND&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
29679 baishou&& 16&& 0 g& 18m R 72.0 15.3 115:41.08 java&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
29678 baishou&& 15&& 0 g& 18m R 63.3 15.3 118:44.99 java&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
29673 baishou&& 15&& 0 g& 18m S& 1.0 15.3&& 0:59.72 java&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
29677 baishou&& 15&& 0 g& 18m S& 1.0 15.3&& 1:01.34 java&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
3. 查看这个线程所有系统调用
strace -p 29679
read(114, "\0\225\0\0\6\0\0\0\0\0\10\0\0\4\3\0\0\0p\365\1_\0\0\0\0\0\0\0\0\0\4"..., 2064) = 149
write(114, "\7\333\0\0\6\0\0\0\0\0\3\201r\4\0\0\0\0\0\0\0 B\25\274\252*\0\0\275.\0"..., 2011) = 2011
write(114, "\7\333\0\0\6\0\0\0\0\0Adddddc\2\301!\4\302dQQ\3\300R\37\3\300c"..., 2011) = 2011
write(114, "\7\333\0\0\6\0\0\0\0\\6\1JdK\ttb0\1\200"..., 2011) = 2011
write(114, "\7\333\0\0\6\0\0\0\0\\6\1K6\27\ttb0\1\200"..., 2011) = 2011
write(114, "\7\333\0\0\6\0\0\0\0\0&\0|0\6\305\6\1L\23\20\ttb"..., 2011) = 2011
write(114, "\7\333\0\0\6\0\0\0\0\0\\1\200\2\301)\1\200\2\301\2\1\200\1\200\1\200\1\200"..., 2011) = 2011
write(114, "\0\34\0\0\6\0\0\0\0\0\200\1\200\1\200\1\200\n\300\31\20F\10\27#\23\23)", 28) = 28
read(114, "\0\225\0\0\6\0\0\0\0\0\10\0\0\4\3\0\0\0q\365\1_\0\0\0\0\0\0\0\0\0\4"..., 2064) = 149
write(114, "\7\333\0\0\6\0\0\0\0\0\3\201s\4\0\0\0\0\0\0\0 B\25\274\252*\0\0\311.\0"..., 2011) = 2011
发现有大量写操作,应该是由datax任务在跑。
+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++如果是web应用,可以继续打印线程的堆栈信息+++++++++
将需要的线程ID转换为16进制格式:
printf "%x\n" 29679
73ef
最后打印线程的堆栈信息:
jstack 29679|grep 73ef -A 30
参考:http://blog.csdn.net/delphiwcdj/article/details/7387325
浏览: 156696 次
来自: 杭州
String[] tools = StringUtils. ...
请问这种情况下python脚本里面怎么打counter呢?通常 ...
print '\t'.join([foo, strmap])+ ...}

我要回帖

更多关于 进程cpu占用率高 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信