Linux性能统计表现奇怪

时间:2010-09-21 05:37:47

标签: c++ linux performance

我正在使用linux / proc // stat文件为应用程序生成cpu使用信息。我遇到的问题是在Fedora 13上看起来很奇怪,在ubuntu 10.04上的事情就像我期望的那样。

具体地:
在fedora上,应用程序以3:1的比例记录更多的处理系统时间 在ubuntu上,应用程序以4:1的比例记录更多进程用户时间 在fedora上,进程用户时间值会在一段时间后停止递增,并且永远不会继续。

这对我来说似乎很奇怪,而且用户时间停止递增的事实看起来像是一个彻头彻尾的错误。

我也尝试用几种不同的方式读取值,所有这些都具有相同的结果,并且我已经进行了测试以确认用户和系统时间没有被转置。

任何人都可以了解可能发生的事情吗?是否有任何有效的方法可以使进程用户时间停止为进程递增?

2 个答案:

答案 0 :(得分:0)

根本没有增加的用户时间听起来像一个bug。如果您可以创建一个演示问题的最小示例,我会将其提交到Fedora bug tracker

(你是否在信号处理程序方面做了很多工作?)

答案 1 :(得分:0)

假设您的意思是/ proc / [pid] / stat,如果一个进程在syscall中花费所有时间或等待wchan(通常是磁盘或网络或其他I / O),则该进程不会累积用户时间。

进程记帐的详细程度由Linux 2.6.x(可能还有其他)内核中的许多配置变量控制。