我給過這個問題這個計算CPU利用率的公式是如何工作的?
考慮一個系統運行10個I/O綁定任務和一個CpU綁定任務。假定每毫秒的CPU計算髮生一次I/O限制任務和I/O操作,並且每個I/O操作需要10毫秒才能完成。同時假設上下文切換開銷爲.1毫秒,並且所有進程都是長時間運行的任務。描述以下情況時輪轉調度程序的CPU利用率:
a。時間量程爲1毫秒
b。時間量爲10毫秒
,我發現答案爲它
時間量爲1毫秒:無論哪個的過程被調度時,在 調度招致對每個上下文切換一個0.1毫秒上下文轉換成本。 這會導致CPU使用率爲1/1.1 * 100 = 91%。
時間量程爲10毫秒:I/O限制任務在使用時間量程僅爲1毫秒後會產生上下文切換 。因此,通過所有進程循環執行 所需的時間爲10 * 1.1 + 10.1(因爲每個I/O限制任務 會執行1毫秒,然後執行上下文切換任務,而CPU- 限制任務會在執行10毫秒之前執行引起上下文切換)。因此CPU使用率爲20/21.1 * 100 = 94%。
我唯一的問題是這個人怎麼得到CPU利用率的公式?我看不出他/她得到的數字是20/21.1 * 100 = 94%,1/1.1 * 100 = 91%。
感謝您的澄清,我知道我錯過了一些東西。 – 2013-03-11 02:58:00