contenedores de Docker: Disco y la memoria y los límites de recursos de CPU de combate

En primer lugar, echar un vistazo primero para ver cómo estos tres indicadores

1, introduzca primero el recipiente ventana acoplable

docker exec -it b6bac438271d /bin/bash

2, el disco de vista

Aquí Insertar imagen Descripción

3, la memoria vista

Aquí Insertar imagen Descripción

4, ver la CPU

CPU física: número de CPU en realidad insertado en la placa base, no se puede repetir un número de ID física tiene varios (id física)
cpu Auditoría: Número chipset CPU monolítico puede procesar datos anteriores
CPU lógica: En general, la CPU lógica = × número de piezas de núcleo de CPU físicas por

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}'

Nota: la entrada de mando superior, la interfaz siguiente, entonces uno puede ver la CPU lógica, utilización de la CPU, y cada núcleo.

Aquí Insertar imagen DescripciónNota: El aspecto anterior de esta manera y mirada a través de estos comandos en el host, encontrará cargador de muelle de contenedores y el anfitrión son los mismos, ¿Por qué es esto?
En primer lugar es necesario conocer, compartir todos los recursos de la CPU, memoria, disco y contenedores de la ventana acoplable host predeterminado, por lo que este punto de vista es la misma. Con el fin de evitar que los cilindros individuales ya bajo ataque, sin motivo consume recursos, sino que también causó el colapso de otros contenedores, cada contenedor recursos tenemos que limitar la cantidad. Así que hay dos cuestiones: cómo mirar exactamente? ¿Cómo estos recursos para limitar el uso de contenedores que?

En segundo lugar, la forma precisa vista del consumo de recursos de cada envase?

Comprobación de disco: Sólo la parte superior como este look!
Compruebe cada contenedor de la memoria, el consumo de CPU:

#宿主机上输入命令
docker stats #这是实时查看cpu、内存消耗情况
docker stats --no-stream #查看瞬间的cpu、内存消耗情况

Aquí Insertar imagen Descripción

En tercer lugar, la forma de limitar el uso de cada uno de estos recursos envase?

Si compramos una gran cantidad de nubes, cada disco nube huésped, la CPU, la configuración de memoria tiene un claro, por ejemplo, me he comprado Ali nube de acogida es el disco duro de 40G, 1 CPU de núcleo, 2G de memoria. El siguiente paso es que necesitamos los contenedores tales restricciones.

1, CPU, límites de memoria

docker run -itd --cpuset-cpus=0-0 -m 4MB docker.io/jdeathe/centos-ssh /bin/bash
--cpuset-cpus:设置cpu的核数,0-0、1-1、2-2...(这种是绑定cpu,把本虚拟机绑定在一个逻辑cpu上);0-1、0-2、0-3和0,1、0,2、0,3(这两种形式都是指定多个逻辑cpu,每次随机使用一个逻辑cpu,相当于是共享cpu)
#注意:一个docker容器绑定一个逻辑cpu便于监控容器占用cpu的情况;而共享cpu可以更好利用cpu资源,而且要选好cpu调度算法!
-m:设置内存的大小

He creado dos CPU, su error: los
Aquí Insertar imagen Descripción medios de error: Error de respuesta del demonio: CPU solicitado no está disponible - petición 0-1, están disponibles: 0.
Descripción nuestra VMware creación de máquinas virtuales sólo dio 1-núcleo, por lo que no puede dar dos nuclear!
Aquí Insertar imagen DescripciónVer CPU, límite de memoria si tiene éxito:
Aquí Insertar imagen Descripciónla memoria, el éxito límite de la CPU! Este punto de vista del contenedor de la forma en que el número de CPU de la base no sabe qué ver! Después añadí una CPU, y luego tratar el siguiente orden, de arriba y examinado cpuinfo文件no puede ver la situación real de un buque ocupada recursos de la CPU!

2, límite de tamaño de disco

imagen de archivo contenedor (1) copia de seguridad
  • la imagen de copia de seguridad
docker save docker.io/centos >/root/centos-image.tar
  • contenedor ventana acoplable copia de seguridad
 先docker commit把容器提交成镜像,再备份镜像即可
(2) modificar la ventana acoplable archivo de configuración

estibador fichero de configuración: ventana acoplable (/ etc / sysconfig / No archivo de notas cargador de muelle de almacenamiento ), agregue el código siguiente después de que las opciones de los parámetros:

OPTIONS='--storage-opt overlay2.size=40G'

Aquí Insertar imagen Descripciónestibador reinicio, teniendo en cuenta:

systemctl status docker.service -l

Aquí Insertar imagen DescripciónNota: Cuota proyecto (cuotas de directorio)
explican: Overlay2 acoplable modo de unidad de disco, si desea cambiar el tamaño, necesidad de hacer que el sistema de archivos de Linux se establece en XFS, y la función de cuota de disco a nivel de directorio;

(3) A continuación, se haga compatible con la función de cuotas de disco a nivel de directorio

En primer lugar, entender qué directorio cuotas de disco de apoyo?
A: El apoyo se asigna en el directorio tamaño del disco de tamaño fijo. Cómo entender el tamaño del directorio? Un disco duro de tamaño fijo se montará este directorio, el tamaño del directorio es el tamaño del disco duro. Contenidos pueden asignar recursos para especificar el tamaño de sus archivos del disco duro en

  • Añadir un nuevo disco duro
    Aquí Insertar imagen DescripciónNota: / dev / sdb es el disco agrego!

  • sistema de archivos XFS para formatear el formato de disco duro

 mkfs.xfs -f /dev/sdb
  • Crear un directorio de datos, cargador de muelle directorio de datos de la siguiente manera;
mkdir /data/ -p
  • directorio de datos de montaje, y abrir la función de cuota de disco (XFS omisión darán soporte a la función de la cuota)
mount -o uquota,prjquota /dev/sdb /data/
#把/dev/sdb这块新建硬盘挂载到/data/,且让/data/目录支持目录级别和用户级别的配额!

Aquí Insertar imagen DescripciónLa cifra demuestra el tamaño / del directorio de datos se ha limitado! !
A continuación, la cuota del directorio de disco habilitada para directorios es en apoyo de la / data / 20G que se puede asignar el tamaño del disco 20G!

  • Ver cuotas - detalles de configuración, el comando es el siguiente:
xfs_quota -x -c 'report' /data/

Aquí Insertar imagen DescripciónDespués de ejecutar este comando xfs_quota, que se muestra más arriba, la descripción, / data / ha apoyado función de cuota de directorio!

(4) a partir de / data / acoplable / como un enlace suave al / var / lib

mkdir /data/docker
rm -rf /var/lib/docker/
ln -s /data/docker/ /var/lib/

Aquí Insertar imagen DescripciónDe esta manera, no soporta la función de cuota de disco de nivel de directorio de / var / lib / ventana acoplable / directorio, se convierte en un directorio de nivel de soporte de la cuota de disco característica suave enlace a / / var / lib / ventana acoplable / directorios bajo de datos / cargador de muelle / directorio
(5) de carga acoplable para cargar la imagen de copia de seguridad y ejecutar el contenedor, tamaño de vista de disco

docker load < /root/centos-image.tar
docker run -itd --privileged --cpuset-cpus=0-1 -m 4048M docker.io/centos /bin/bash

Aquí Insertar imagen DescripciónEl tamaño de disco está limitado al éxito 10G!
Aquí Insertar imagen Descripcióntamaño de la memoria 4G se limita al éxito!

3, el último punto de atención

Tanto si se trata de limitar el tamaño del disco, o CPU, la memoria, no pueden exceder el tamaño de llegar a ser dueño!
Por ejemplo, tengo esta memoria VMware es 4G, la CPU de doble núcleo, disco duro de 20G (porque no puede haber cuotas / data / solamente 20G), debido a que el sistema está funcionando CentOS también deben tener en cuenta parte de la memoria, el recipiente no debe exceder la memoria especificada 3G , cpu no más de dos núcleos (es decir, 0-0,1-1; puede haber 0-1), un disco duro no exceda 20G (15G menos preferiblemente)

Ha publicado 188 artículos originales · alabanza 150 won · vistas 30000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_44571270/article/details/104465295
Recomendado
Clasificación