文章目录
一、首先先看看怎样查看这三项指标
1、先进入docker容器里
docker exec -it b6bac438271d /bin/bash
2、查看磁盘
3、查看内存
4、查看cpu
物理cpu:主板上实际插入的cpu数量,可以数不重复的 physical id 有几个(physical id)
cpu核数:单块CPU上面能处理数据的芯片组的数量
逻辑cpu:一般情况下,逻辑cpu=物理CPU个数×每颗核数
1.物理cpu数:[root@server ~]# grep 'physical id' /proc/cpuinfo|sort|uniq|wc -l
2.cpu核数:[root@server ~]# grep 'cpu cores' /proc/cpuinfo|uniq|awk -F ':' '{print $2}'
注:top命令输入后,出现如下界面,再按1,可以看逻辑cpu,及每个核的cpu使用情况。
注:上面这样子看的和在宿主机上通过这些命令看,你会发现docker容器和宿主机都是一样的,这是为什么呢?
首先我们要知道,docker默认容器和宿主机时共享所有的cpu、内存、磁盘资源的,所以这样看都是一样的。为了不让个别容器因为受到攻击,大肆占用资源,造成其他容器也崩溃,我们需要对每个容器的资源多少进行限制。那么就有这两个问题:怎样看准确的呢?怎样对容器使用的这些资源进行限制呢?
二、怎样准确查看每个容器的资源消耗情况呢?
查看磁盘:只有上面这样子看!
查看每个容器的内存、cpu消耗情况:
#宿主机上输入命令
docker stats #这是实时查看cpu、内存消耗情况
docker stats --no-stream #查看瞬间的cpu、内存消耗情况
三、怎样对每个容器使用的这些资源进行限制呢?
如果我们买过云主机,那么每个云主机的磁盘、cpu、内存都有明确的配置,比如我买的阿里云主机就是40G的硬盘、1核cpu、2G内存。我们接下来就是需要对容器进行这样的限制。