纯净基地 - 专注分享最好用的电脑系统

当前位置: 纯净基地 >  微软资讯 >  绝对清晰的top中cpu指标的解释:如何理解和解释CPU的TOP中绝对清晰指标?

绝对清晰的top中cpu指标的解释:如何理解和解释CPU的TOP中绝对清晰指标?

更新时间:2024-04-16 20:46:28作者:czlaby
我们在使用top命令时,会看到如下参数。在cpu那一行看到us,sy等多个指标。

这些指标你真的全都了解吗?

在网上看到一个解释的非常清晰的图,保证你绝对能清晰的明白这些指标的含义

绝对清晰的top中cpu指标的解释:如何理解和解释CPU的TOP中绝对清晰指标?


神图在此

绝对清晰的top中cpu指标的解释:如何理解和解释CPU的TOP中绝对清晰指标?


解释

我们知道linux运行状态分为用户态和内核态。

横线的上半部分是用户态。下半部分是内核态。

当一个用户程序开始执行,它首先处于用户态,用CPU使用率中的“us”(user的缩写)来表示。在这个状态下,除了系统调用之外的所有代码执行都会计算在“us”的CPU使用时间内。

一旦用户程序执行系统调用,如read()函数来读取文件,它就会从用户态切换到内核态。在内核态中,read()系统调用会首先在文件系统层面进行操作,这一阶段的CPU使用时间会计入“sy”(即system的缩写)。

随后,read()系统调用会向Linux的块设备层发起I/O请求,开始实际的磁盘读取操作。在这个过程中,进程通常会变为不可中断状态,而这段时间会被标记为“wa”(即wait的缩写)。

数据从磁盘读取并返回后,进程在内核态接收这些数据,这仍然属于“sy”的CPU使用时间。之后,进程会从内核态切换回用户态,并在用户态中处理文件数据。这又计算到us的时间内了。

如果在此之后,假设用户进程没有其他任务需要执行就进入休眠状态。同时CPU上也没有其他进程需要运行,那么系统就会进入空闲状态,表示为“id”(idle的缩写)。

当系统接收到一个网络数据包时,网卡会触发一个中断,CPU会响应这个中断并执行中断服务程序。这时,CPU的使用时间会计入“hi”(hardware irq硬件中断的意思)。

对于中断处理过程中耗时较长的任务,Linux提供了软中断(si)机制来处理。

不管是硬中断hi还是软中断si,它们的CPU使用时间都不会计入进程的CPU时间,因为处理这些中断的时间不属于任何特定进程。

此外,还有两种CPU使用时间类型:“nice”(ni)和“steal”(st)。nice值正数表示低优先级进程占用的CPU时间,而steal是在虚拟化环境中使用的。表示被同一宿主机上的其他虚拟机偷走的CPU时间。steal这个词用的很形象啊。

最后总结一下

绝对清晰的top中cpu指标的解释:如何理解和解释CPU的TOP中绝对清晰指标?

绝对清晰的top中cpu指标的解释:如何理解和解释CPU的TOP中绝对清晰指标?相关教程

Copyright ©  2012-2024 纯净基地 版权声明 网站地图