有人可以解释一下 AIX 上关于 lcpu 和 r 的 CPU 瓶颈的关系吗?

有人可以解释一下 AIX 上关于 lcpu 和 r 的 CPU 瓶颈的关系吗?
# vmstat 60 2
System configuration: lcpu=12 mem=46080MB ent=1.10

kthr    memory              page              faults              cpu          
----- ----------- ------------------------ ------------ -----------------------
r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa    pc    ec
9  3 10845919 385420   0   0   0   0    0   0 5693 199747 54772 52 35  8  5  2.79 253.6
11  3 10855682 393324   0   0   0   0    0   0 6053 200390 51913 57 34  5  4  2.90 263.5

尽管平均 CPU 使用率为 95%(请参阅“空闲”列),但 CPU 还不是瓶颈,因为“r”比“lcpu”小。

http://aix4admins.blogspot.co.uk/2011/09/vmstat-t-5-3-shows-3-statistics-in-5.html

如果可运行线程 (r) 除以 CPU 数量大于 1 -> 可能的 CPU 瓶颈(如果我们有足够的 CPU 或我们有更多 CPU,则应将 (r) 与 CPU 数量(正常运行时间中的逻辑 CPU)进行比较)线程。)阻塞进程列 (b) 中的数字较大表示磁盘速度较慢。 (r) 应始终高于 (b);如果不是,通常意味着您有 CPU 瓶颈

问题: 有人可以详细解释一下吗?为什么我们可以说这个系统还不需要更多的 CPU (r < lcpu)?

答案1

根据IBM文档[1],该字段r显示了可运行线程,准确地说,是已运行的线程数 + 队列中等待的线程数。

因此,如果r < lcpu,则意味着所有线程都在 CPU 上,并且队列中没有等待的线程。在您的情况下,有 11 个线程正在运行,您甚至还有 1 个备用lcpu.

这么说吧r = 20。在这种情况下,您会遇到 CPU 瓶颈,因为 CPU 上将有 12 个线程 + 8 个线程在队列中等待调度。 CPU 使用率将是 100%。

[1]https://www.ibm.com/support/knowledgecenter/#!/ssw_aix_71/com.ibm.aix.cmds6/vmstat.htm

答案2

作为参考,通常最好至少运行vmstat -wtI 5 3(-w提供宽输出,-t提供时间戳,以便稍后将您的数字与您可能并行运行的其他性能监控结果相关联,并且-我当您运行 60 秒时,会为文件 pagein/pageout 提供附加列,并且仅查看 vmstat 输出以了解您正在查看的时间量是不够的。

您还应该始终提供 的输出lparstat -i以进行比较,并将信息放入上下文中(有上限/无上限、专用 CPU ...)

相关内容