morris2600 发表于 2012-11-22 11:54

如何统计程序中各模块(so)的CPU占用率?

操作系统只提供了统计进程(线程)的CPU占用率的方式(top/vmstat等), 但如果某进程内有多个业务逻辑模块, 通过什么方法按照该模块去统计其各自的CPU占用率?

求思路!

crazyhadoop 发表于 2012-11-22 12:52

这个模块怕是不好统计,不过可以根据进程内部某些方法调用比例,和花费时间进行评估!

MMMIX 发表于 2012-11-22 13:39

morris2600 发表于 2012-11-22 11:54 static/image/common/back.gif
操作系统只提供了统计进程(线程)的CPU占用率的方式(top/vmstat等), 但如果某进程内有多个业务逻辑模块 ...

做个 profile,然后把函数和模块对应下就是了。

morris2600 发表于 2012-11-22 15:12

如何定义此profile? 比如同一个系统函数在多个模块中都有调用, 另外, 也不只是系统系统会消耗CPU吧, 如何获取这部分的CPU使用情况呢?
回复 3# MMMIX


   

MMMIX 发表于 2012-11-22 15:54

morris2600 发表于 2012-11-22 15:12 static/image/common/back.gif
如何定义此profile? 比如同一个系统函数在多个模块中都有调用, 另外, 也不只是系统系统会消耗CPU吧, 如 ...

做 profile 有各种工具,然后你只关注你模块中的函数的耗时就完了。

luoyan_xy 发表于 2012-11-22 22:49

oprofile可以抽样到so模块内部的函数调用
页: [1]
查看完整版本: 如何统计程序中各模块(so)的CPU占用率?