Central-Processing-Unit

AIX CPU 使用行為

  • November 19, 2012

關於 CPU 使用率管理,我們面臨著一個奇怪的(對我們來說)情況。我們有一個具有 2 到 4 個線上核心的 lpar。當應用程序工作負載達到峰值時,CPU 使用率為 100%(70% 使用者 + 30% 核心),物理分配 2.5 個核心。我希望看到更大的物理分配和更低的使用率。這是理性的嗎?我們是否必須定義任何門檻值?

問候,

你描述的是正常行為。為了使單個 AIX LPAR 獲得更多物理處理器(高於最低權利),它需要執行實際程式碼。如果您看到負載增加(在您的情況下遠高於 8),這似乎很奇怪。

有一些方法可以將處理器持久地分配給 LPAR,但是是靜態的,而不是動態的:

  • 使用專用處理器,或
  • 增加您的最小值(例如,您現在使用的共享最小值為 2,您可以增加到 2.5)。

沒有任何設置可以確保在高峰期您​​的使用率永遠不會達到 100%,這是有充分理由的。您認為分配 2.5 存在成本的印象,如果 LPAR 獲得 2.8(並保留一段時間),成本將得到緩解,這只是一種印象。

事實上,LPAR 在每個量子時間段獲取處理器(它總是在 2.0 以上),並且成本是恆定的;成本相同,在第一個時間段增長到 2.5,在第二個時間段增長到 3.1,在第三個時間段回到 2.0。由於我們處於第二個階段,LPAR 需要更多,但 LPAR 不需要顯式請求任何東西;如果 LPAR 仍在執行程式碼,則(機器的管理程序)隱含地理解它需要不間斷地繼續執行(無需將 LPAR 切換出處理器)。Hypervisor 觀察處理器並說“嗯,這個 LPAR 仍在執行程式碼,讓我們拭目以待,我會盡可能多地提供它,並且只有在它的時間結束時才會將它從處理器中丟棄”。它達到了 3.1 或者是因為管理程序強制它退出,或者它執行了一切,每個程序都進入了 sleep()。如果機器有足夠的空閒能力,並且 LPAR 嘗試執行需要 4.0 的程式碼,則允許 4.0 立即(在 2.0 或任何地方不中斷)執行,直到達到 4.0,然後才會出現中斷。

在此範例中,為許多 quanta 保留 3.1 意味著您正在浪費寶貴的機器功率;如果結果是您可以看到 90% 的使用率,這表明您現在浪費了 10% 的資金。而已。

該過程不像 LPAR 使用 2.0,然後要求更多,使用 0.1,然後要求更多,使用另一個 0.1,等等。它不能這樣工作。它在沒有請求的情況下接收額外的 0.1,僅僅是因為它仍然佔用處理器的工作量;沒有額外的成本。

100%的使用是很正常的。

PS。“核心”這個詞是怎麼回事?處理機器程式碼的東西稱為“處理器”,AIX 世界正確地使用了這個術語。您插入插座的物理東西是“模組”。

引用自:https://serverfault.com/questions/450032