Linux top里面%CPU和us%的解释

我们有时会把%CPU和us%搞晕,也就是下图所示在top的时候查看cpu的信息。

 

这时有人会问:这两个CPU到底哪个是对的。

其实都是对的,只是表达的意思不一样。

官方解释如下

Cpu(s):34.0% us: 用户空间占用CPU百分比

%CPU:上次更新到现在的CPU时间占用百分比

读到这里我也不是十分理解他们俩的关系,我一直以为%CPU是每个进程占用的cpu百分比,按理来说所有进程的该值加在一起应该等于us.

但事实并非如此,此时我们可以在top界面按一下1

 

这时候我们可以清晰得看到每个cpu的运行状态。

扫描二维码关注公众号,回复: 3628854 查看本文章

通过上面的显示我们发现Cpu(s)表示的是 所有用户进程占用整个cpu的平均值,由于每个核心占用的百分比不同,所以按平均值来算比较有参考意义。而%CPU显示的是进程占用一个核的百分比,而不是整个cpu(12核)的百分比,有时候可能大于100,那是因为该进程启用了多线程占用了多个核心,所以有时候我们看该值得时候会超过100%,但不会超过总核数*100。

猜你喜欢

转载自www.cnblogs.com/saryli/p/9816998.html