Chinaunix首页 | 论坛 | 博客
  • 博客访问: 169192
  • 博文数量: 45
  • 博客积分: 1228
  • 博客等级: 中尉
  • 技术积分: 450
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-26 11:37
文章分类
文章存档

2013年(4)

2012年(3)

2011年(20)

2010年(18)

我的朋友

分类:

2012-12-04 15:32:06

当系统开着的时候,后面跑着很多服务进程,这些进程并不老老实实的呆着,而是偷偷摸摸的做些事情,使用top看,就会发现偶尔某个进程占CPU很高。我们应该如何优化这样的进程呢?
 
主要有两种方法:
1、使用strace,attach到进程上,查看其系统调用。通过打印出的系统调用,能够查看出在这个过程中进程做了什么事情。
 
2、使用gdb和oprofile,先使用oprofile来定为该进程的CPU主要是花在了哪个库和哪个函数,能初步进行分析;然后再对具体可以的函数使用gdb,attach住该进程,查看到该函数的栈信息。
 
上面两种方法,基本上可以定为某一进程周期性CPU尖峰的原因,从而进行优化。
阅读(1032) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~