docker 会像虚拟机一样消耗 CPU 吗?

docker 会像虚拟机一样消耗 CPU 吗?

除了查看 docker 统计信息之外,我还想知道 docker 如何消耗物理 CPU,或者它在 CPU 用户、CPU 系统和 CPU 客户等统计信息之间如何分类?

我正在使用以下方式收集指标网络数据。我正在研究不同类型的工作负载;这意味着只是一些预先打包的代码,其中可能包含 docker 镜像,因为这是安装某些软件的地方,或者是此工作负载或相关代码的其他部分所依赖的数据库。Nedata 返回了很多指标,例如,在系统级别的 CPU:您将获得以下内容:

netdata.system.cpu.guest
netdata.system.cpu.guest_nice
netdata.system.cpu.idle
netdata.system.cpu.iowait
netdata.system.cpu.irq
netdata.system.cpu.nice
netdata.system.cpu.softirq
netdata.system.cpu.steal
netdata.system.cpu.system
netdata.system.cpu.user

如果我正在处理虚拟机,我知道客户操作系统 CPU 刻度值将被记录为netdata.system.cpu.guest;我想知道那些 docker 镜像的刻度值会被记录在哪里。

我查看了 docker stat 并阅读了互联网上的文章,但似乎找不到这些 CPU 值的记录位置。

这对我来说很重要,因为我正在尝试描述这些工作负载的特征,并且我想知道如果工作负载没有 Docker 镜像,我不应该在特征描述方面花太多心思去关注什么

答案1

容器不是虚拟机。没有任何东西被虚拟化,一切都只是在主机上作为独立的进程运行。甚至内核也是共享的。

因此,您从容器进程观察到的 CPU 利用率与从主机进程观察到的 CPU 利用率完全相同。

相关内容