AIX CPU 利用率行为

AIX CPU 利用率行为

我们在 CPU 利用率管理方面面临一种奇怪的情况(对我们来说)。我们有一个 lpar,其中有 2 到 4 个在线核心。当应用程序工作负载达到峰值时,CPU 使用率为 100%(70% 用户 + 30% 内核),物理分配为 2.5 个核心。我希望看到更大的物理分配和更低的使用率。这合理吗?我们应该定义任何阈值吗?

问候,

答案1

您所描述的是正常行为。对于单个 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 从处理器中切换出来)。虚拟机管理程序观察处理器并说“嗯,这个 LPAR 仍在执行代码,让我们拭目以待,我会尽可能多地给它,并且只有在时间结束时我才会将它从处理器中丢弃”。它达到 3.1 要么是因为虚拟机管理程序强制它退出,要么是它执行了所有内容并且每个进程都进入了睡眠状态()。如果机器有足够的可用电量,并且 LPAR 尝试执行需要 4.0 的代码,则允许立即运行 4.0(不会在 2.0 或任何地方中断)直到达到 4.0,然后才会出现中断。

在这个例子中,保留 3.1 的许多量子意味着你正在浪费宝贵的机器能力;如果结果显示使用率为 90%,则表明你现在正在浪费 10% 的资金。仅此而已。

该过程并不像 LPAR 使用 2.0,然后请求更多,使用 0.1,然后请求更多,使用另一个 0.1,等等。它不是这样工作的。它无需请求即可收到额外的 0.1,只是因为它仍然占用处理器的工作负载;没有额外的开销。

100%的使用率很正常。

PS:“核心”这个词是什么意思?处理机器代码的东西称为“处理器”,AIX 世界正确地使用了这一术语。插入插槽的物理东西是“模块”。

相关内容