wlmstat 命令

用途

显示每个类的 工作负载管理器 (WLM) 资源利用率统计信息。

语法

Wlmstat [-我 | -t ] [-S | -s] [-@] [-c ] [-] [-b] [B 设备] [-T] [-] [-w] [-] [时间间隔] [计数]

wlmstat [-l Class | -t Tier ] [-@] [-c ] [-m ] [-b ] [-u ] [时间间隔 ] [计数]

wlmstat [-l Class | -t Tier] [-@] [-M] [-S | -s] [-w] [-v] [时间间隔] [计数]

描述

wlmstat 命令用符号的形式显示从内核 检索的 WLM 数据结构的内容。 如果指定了 计数wlmstat 循环 计数 次并在显示每个块之后休眠 时间间隔 秒。 如果没有指定 IntervalCount,那么产生一个 输出报告。 如果指定 Interval,但是未给定 Count,那么 wlmstat 在所给定的时间间隔内将连续输出结果,直到被一个信号(SIGINTR、SIGQUIT 和 SIGKILL)停止为止。 缺省情况下,wlmstat 用于显示每个超类和子类的所有资源的统计信息。 可以指定标志,以将统计信息的着重点缩小到某种类型的资源、层、超类或子类以及改变输出格式。

注: 查看 wlmstat 输出时应考虑以下内容:
  1. AIX 5.3 开始,WLM 处理器使用值和进程优先级调整默认每秒更新 10 次。
  2. 显示的处理器使用率值不是最近一秒的当前瞬时使用率,而是最近 N 读数的平均值 (从 AIX 5.3开始, N 的缺省值为 15)。
  3. 未受管的类用于报告系统中断时间,并用于跟踪系统中不受 WLM 管理的所有锁定页面的内存使用情况。 未将进程分配给此类。

在两次连续的 WLM 使用情况更新期间,具有 50% 硬性限制的进程有可能使用超过 50% 的处理器。 每十分之一秒对每个进程指定一次优先权,然后调度程序将根据所有进程的指定优先权调度它们。 在两次更新 WLM 期间,一个进程可能会接收到超过进程硬性限制的处理器资源。

在缺省情况下,每次更新时的每个即时处理器使用率的值将为接下来的 15 次读操作保留,并与其他 14 次读操作取平均值,之后才由 wlmstat 显示。 由于在 WLM 更新之间单个实例大于 50% 使用率,这可能导致大于 50% 的值。

如果某个进程始终到达或超过它的硬性限制,那么该进程的优先权将显著降低,该进程将无法运行。 在很长一段时间内,该进程的资源使用率必须处于该进程的硬性限制最大值或在该值之下。 较短时间间隔之后,wlmstat 可能显示使用超过进程硬性限制的进程。 在这种情况下,可以使用 bos.adt.samples PTF 中提供的 /usr/samples/kernel/wlmtune 命令在这样的实例中修改 WLM 的行为。 相关的可调值为:

schedhz
WLM 调度程序重新计算类消耗和处理器优先级的频率。 缺省值为 10。 修改此值将更改 WLM 的响应率。 增加此值使 WLM 更新更频繁,从而减少进程在较短时间间隔内超出其硬性限制的可能性。 由于将发生更多的 WLM 处理,对此的折衷方案是增加开销。 这可能会影响整个系统性能。
cpuhist
在平均计算中使用的连续处理器消耗值的数目。 缺省值为 15。 增大此值将进一步使较长时间内所报告的处理器使用率平均值趋于平衡。

要使 WLM 响应更快,以便各类不超过其最大超长期间,建议您首先尝试修改 schedhz,直到 wlmstat 输出显示您想要的结果。 您还可能想要修改 cpuhist,以便 wlmstat 在相同的时间间隔上取平均值。 例如,如果 schedhz 是 20,cpuhist 是 15,wlmstat 将在 0.75 秒(15/20)的期间上取平均值,因此您可能想要将 cpuhist 更改为 30,这样 wlmstat 仍然在 1.5 秒内取平均值。

在没有处理器争用的系统上,建议将 wlmstat时间间隔 设置为 5 以遵守 WLM 限制。

标志

描述
-@ 显示 工作负载分区 资源信息。
-a 以常数项显示子类消耗。 缺省情况下,子类消耗百分比与超类消耗对比显示。 使用该选项,子类消耗与系统中可用的资源总量对比显示(正如超类显示的那样)。 所有值都以 1% 的精确度显示。 例如,如果一个超类有 20% 的处理器目标且由不带 -awlmstat 显示用于一个子类的处理器百分比是 10%,那么带有 -awlmstat 将显示用于子类的处理器百分比是 2%。
-b 仅显示磁盘 I/O 统计信息。
-B 设备 显示磁盘 I/O 设备统计信息。 传递空字符串(-B"") 会显示该类访问的所有磁盘的统计数据。
-c 仅显示处理器统计信息。
-l 显示用于 Class 名的统计信息。 如果没有被指定,所有类与相应字段的一个摘要一起显示。
-M 仅显示物理内存统计信息。
-M 显示实际/虚拟内存统计信息。 使用 -M 选项将在输出中添加以下列:
RMSIZ
类使用的实内存大小
VMSIZ
类使用的虚拟内存大小
RMLIM
类的实内存限制
VMLIM
类的虚拟内存限制
LGPGSIZ
类中使用的大页面数
LGPGLIM
类的大页面限制
如果未定义限制,那么将针对 RMLIMVMLIMLGPGLIM 字段显示 注: A - 。 当 -M-w 选项一起使用时, RMSIZVMSIZ 字段包含这些属性的高水位标记,而不是实际使用的值。 此外,将关闭 LGPGSIZLGPGLIM 字段。
-s 仅显示子类统计信息。
-S 仅显示超类统计信息。
-t 显示仅用于指定的 Tier 的统计信息。
-t 显示自从 WLM 启动或类被创建以来资源使用率的总数,不管哪个是更迟创建的。 单位是:
CPU
由某个类所消耗的总处理器时间(以毫秒为单位)
MEM
未使用
DKIO
一个类发送/接收的为所有磁盘设备所访问的 512 字节块的总数。
-v 指定详细方式。 此标志用于故障诊断,还显示一些类属性,资源共享和限制以及其他 WLM 参数,包括用于 AIX 支持人员的内部参数值。 用户可能对下面的 信息感兴趣:
列头
描述
类名
tr
层数(0 到 9)
i
继承属性值:0 = no,1 = yes。
#pr
类中的进程数。 如果没有为某个类分配任何进程,那么其他列中显示的值可能并不重要。
CPU
类的处理器使用率(%)。
MEM
类的物理内存使用率(%)。
DKIO
类的磁盘 IO 带宽使用率(%)。
sha
份额数(“-”表示 -1)
min
资源最小限制(%)
smx
资源软性最大限制(%)
hmx
资源硬性最大限制(%)
des
(期望的):WLM 使用份额数(%)计算的百分比目标(目标)
npg
类拥有的内存页数。

其他列仅属于内部使用且对管理员和最终用户来说没有意义。 这个格式与一个资源选择器 (-c-m,或 -b)配合使用会比较好,否则行可能太长而不适合于显示终端的一行。

-w 显示内存最高峰,即自从 WLM 启动 或类创建(无论哪个最后发生)后,一个类在任何给定时间内在内存中所拥有的页面最大值。
-U 显示每层和未使用的总资源。

显示

结果制成表格,有以下字段:

姓名 类名
CPU 类消耗的总处理器时间百分比。
MEM 类消耗的物理内存百分比。
DKIO 类消耗的磁盘 IO 带宽百分比。 此数目是该类访问的所有磁盘设备上的磁盘带宽的平均值,此值通常不重要。 例如,如果某个类消耗了一张磁盘的 80% 带宽以及其他两张磁盘的 5% 带宽,那么 DKIO 列将显示 30%。 要了解每个设备的利用率的详细信息,请使用 -B 设备选项。

示例

  1. 要立刻获得 WLM 活动的打印输出,请输入:
    wlmstat

    此命令产生以下输出:

                      CLASS CPU MEM DKIO 
               Unclassified   0   0   0 
                  Unmanaged   0   0   0 
                    Default   0   0   0 
                     Shared   0   0   0 
                     System   0   0   0 
                     class1  12   0   0 
           class1.Default     4   0   0 
            class1.Shared     0   0   0 
         class1.subclass1     4   0   0 
         class1.subclass2     4   0   0 
                     class2  12   0   0 
           class2.Default     4   0   0 
            class2.Shared     0   0   0 
         class2.subclass1     4   0   0 
         class2.subclass2     4   0   0 
                
        
  2. 要获得超类 class1 的报告,请输入:
    wlmstat -l class1
    此命令产生以下输出:
           
    
                      CLASS CPU MEM DKIO
    
                     class1  12   0   0 
           class1.Default     4   0   0 
            class1.Shared     0   0   0 
         class1.subclass1     4   0   0 
         class1.subclass2     4   0   0 
           
  3. 要获得一分钟内每 10 秒更新一次的子类 sclass1.subclass2 的报告,请输入:
         wlmstat -l class1.subclass2 10 6
    此命令产生以下输出:
                      CLASS CPU MEM DKIO 
         class1.subclass2     4   0   0 
         class1.subclass2     4   0   0 
         class1.subclass2     4   0   0 
         class1.subclass2     4   0   0 
         class1.subclass2     4   0   0 
         class1.subclass2     4   0   0 
  4. 要显示虚拟/实内存统计信息,请输入:
    wlmstat -M
    此命令产生以下输出:
    CLASS          RMSIZ    RMLIM   VMSIZ    VMLIM  LGPGSIZ LGPGLIM 
    Unmanaged       1024      4096   4096     8192     0       - 
    Default         0           -      0       -       0       - 
    Shared          0           -      0       -       0       - 
    System          23567    50000  819234   1000000   0       - 
  5. 要显示内存高水位标记,请输入:
    wlmstat -M -w
    此命令产生以下输出:
    CLASS      RMSIZ RMLIM  VMSIZ   VMLIM
    Unmanaged  1024  4096   4096    8192
    Default    0     -      0       -
    Shared     0     -      0       -
    System     23567 50000  819234  1000000

错误

如果 WLM 没有启动则 wlmstat 发出一条警告消息。