AIX CPU利用率行为

我们正在面对一个奇怪的(对我们来说)关于CPU利用率pipe理的情况。 我们有一个2p最多4个在线内核。 当应用程序工作负载达到峰值时,CPU使用率为100%(70%用户+ 30%内核),物理分配2.5个内核。 我希望看到一个较低的使用量更大的物理分配。 这是理性的吗? 我们是否应该定义任何阈值?

问候,

你所描述的是正常的行为。 对于单独的AIX LPAR获取更多的物理处理器(高于最小权利),它需要执行实际的代码。 如果你看到负载增加(在你的情况下远远高于8),这似乎很奇怪。

有办法将持久处理器分配给LPAR,但静态地,不是dynamic的:

  • 使用专用处理器,或者
  • 增加你的最小值(你现在使用最less2个共享,例如你可以增加到2.5)。

没有设置来确保在高峰期你的使用率永远不会达到100%,这是有原因的。 你的印象是存在分配2.5的开销,如果LPAR获得2.8(并保留一段时间),那么开销将被减轻,这只是一个印象。

事实上,LPAR在每个量子时间周期内获得处理器(它始终得到的2.0以上),开销是不变的。 第一个量子的开销是一样的增长到2.5,第二个量子到3.1,第三个量子回到2.0。 因为我们处于第二个量子态,所以LPAR需要更多,但是LPAR不需要明确地请求任何东西; 如果LPAR仍在执行代码,那么(通过机器的pipe理程序)隐含地理解它需要继续不间断(不将LPAR切换到处理器外)。 虚拟机pipe理程序观察处理器,并说:“嗯,这个LPAR仍然在执行代码,我们拭目以待吧,我会尽可能地给它,只有当它的时间结束,我才会把它扔出处理器。 因为虚拟机pipe理程序强制它,或者它执行一切,每个进程进入睡眠(),所以它达到了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世界正确地使用这个术语。 你插入sockets的实物是一个“模块”。