具有共享和限制的 工作负载管理器 类的示例
在此示例中,假设类 A、B、C 和 D 的共享数量分别为 3、2、1 和 1。
如果类 A、C 和 D 是活动的,那么计算的目标将为:
目标 (A) = 3/5 = 60%
target (C) = 1/5 = 20%
target (D) = 1/5 = 20%
target (C) = 1/5 = 20%
target (D) = 1/5 = 20%
如果在测试期间发现类中的应用程序在被允许使用 50% 的资源时可充分执行,那么可能需要使剩下的 50% 的资源成为其他类的可用资源。 这可以通过向类 A 提供此资源最大软限制的 50% 来实现。 因为当前计算的 60% 的目标超过了此限制,所以会将此目标调整到最大软限制值以下。 当发生这种情况时,类 A 的目标和实际的消耗两者中较低的那个将从可用的资源数量中扣除。 因为此类现在具有受其限制(而不是其共享)约束的目标,所以此类的共享也将从活动的共享中扣除。 假设类 A 当前消耗了 48%,那么目标现在为:
目标 (A) = 3/5 = 60% , softmax = 50 , = 50%
target (C) = 1/2 * (100-48) = 26%
target (D) = 1/2 * (100-48) = 26%
一段时间之后,所有的类可能都会变成活动的,并且目标将再次自动调整:target (C) = 1/2 * (100-48) = 26%
target (D) = 1/2 * (100-48) = 26%
目标 (A) = 3/7 = 42%
target (B) = 2/7 = 28%
target (C) = 1/7 = 14%
target (D) = 1/7 = 14%
target (B) = 2/7 = 28%
target (C) = 1/7 = 14%
target (D) = 1/7 = 14%