除了查看 docker stats 之外,我还想知道 docker 是如何消耗物理 CPU 的,或者它将在 CPU User、CPU System 和 CPU Guest 等统计信息之间分类到哪里?
我正在使用netdata收集指标。我正在研究不同类型的工作负载;这意味着只是一些可能包含 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
如果我正在处理 VM,我知道来宾操作系统 cpu ticks 值将被记录为netdata.system.cpu.guest
;我想知道那些 docker 图像将被记录在哪里。
我查看了 docker stat 并阅读了互联网上的文章,但我似乎无法找到记录这些 cpu 值的位置。
这对我很重要,因为我正在尝试描述这些工作负载,并且我想知道如果工作负载没有 docker 映像,我不应该费心地看太多关于描述的事情
容器不是虚拟机。没有任何东西是虚拟化的,它只是在主机上作为独立进程运行。甚至内核也是共享的。
因此,您可以从容器进程中观察到的 CPU 利用率与从主机进程中观察到的相同。