Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3146590
  • 博文数量: 117
  • 博客积分: 10003
  • 博客等级: 上将
  • 技术积分: 5405
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-23 09:34
文章分类

全部博文(117)

文章存档

2011年(1)

2010年(10)

2009年(69)

2008年(37)

分类: LINUX

2009-10-22 10:20:00

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