2012-02-16 27 views
4

我的代码经常使用很多“系统CPU”(在Ubuntu上)。当我的CPU被标记为“系统CPU”时,它做了什么?

我知道这意味着CPU正在做别的事情而不是实际运行我的代码。我听说它可以用于输入/输出管理。

我有两个问题:

1)我能有什么当它的“系统CPU” CPU可做更详尽的名单?

2)当我运行一个特定的程序时,有没有一种方法可以识别系统cpu在这次运行中正在做什么? (某种“系统cpu”性能分析)

回答

5

当CPU处于系统状态时,这是因为系统调用正在执行。这些系统调用是例如I/O(显示,网络,文件)或内存(分配,...)。

您可以使用strace运行您的程序,以详细了解程序当前正在执行哪些系统调用。

相关问题