今天老友群里Frank大佬分享了一篇文章,内容大致是如何判断公有云厂商是否超卖了主机上的vCPU,其用到了top中的%Cpu(s): st,何解?
在第三行,%Cpu(s): 0.4 us, 0.3 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi, 0.4 si, 0.0 st
一个普普通通的top命令效果
top中%Cpu(s)字段含义
top中的 %Cpu(s): 行显示了 CPU 的使用情况。我们来一一解释:
- us:用户空间 CPU 使用率,表示用户进程占用的 CPU 百分比。- sy:内核空间 CPU 使用率,表示内核进程占用的 CPU 百分比。- ni:改变过优先级的进程占用的 CPU 百分比。- id:空闲 CPU 百分比。- wa:等待 I/O 完成的 CPU 百分比。- hi:硬件中断占用的 CPU 百分比。- si:软件中断占用的 CPU 百分比。- st:被虚拟机偷走的 CPU 百分比(在虚拟化环境中)。
top中%Cpu(s)字段数字高低说明了什么
这些数值的高或者低,能反映出系统CPU使用的不同方面的问题,下面我们具体解释。
us高:表示用户进程占用了大量 CPU 资源,可能是某个应用或进程是计算密集型任务。
sy高:表示内核进程占用了大量 CPU 资源,可能是系统调用频繁、内核任务过多或驱动程序问题。
ni高:虽然通常这个值比较低,但如果很高,说明有进程被人为提高了优先级,并占用了较多 CPU 资源。
id低:空闲 CPU 百分比低通常表示系统正在忙碌,需要更多的 CPU 资源来处理任务。
wa高:表示 CPU 等待磁盘 I/O 完成的时间过长,这通常是磁盘 I/O 瓶颈的标志。
hi 或 si高:高硬件或软件中断使用率可能意味着系统正在处理大量的中断,这可能与网络设备、驱动程序或系统配置有关。
st高:在虚拟化环境中,如果这个值很高,表示虚拟机宿主机(hypervisor)占用了较多 CPU 资源,可能是宿主机的负载过高。假如云上多台云服务器跑的服务一样,只有某一两台高,同时top里显示st也高,那么云商可能是超卖vCPU了,建议重启虚拟机,看看能不能飘到其他宿主机上了。
转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/75754.html