2012-02-16 57 views
4

我的代碼經常使用很多「系統CPU」(在Ubuntu上)。當我的CPU被標記爲「系統CPU」時,它做了什麼?

我知道這意味着CPU正在做別的事情而不是實際運行我的代碼。我聽說它可以用於輸入/輸出管理。

我有兩個問題:

1)我能有什麼當它的「系統CPU」 CPU可做更詳盡的名單?

2)當我運行一個特定的程序時,有沒有一種方法可以識別系統cpu在這次運行中正在做什麼? (某種「系統cpu」性能分析)

回答

5

當CPU處於系統狀態時,這是因爲系統調用正在執行。這些系統調用是例如I/O(顯示,網絡,文件)或內存(分配,...)。

您可以使用strace運行您的程序,以詳細瞭解程序當前正在執行哪些系統調用。

相關問題