# 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 ...)