对docker容器的资源(CPU,内存等)进行限制,有利于宿主机的资源管理和分配。
压力测试工具——stress
stress工具安装
# 安装工具扩展源
yum install -y epel-release
# 安装工具
yum install stress -y
stress使用:
注意:做压测时,设置的cpu个数,一定小于宿主机总cpu个数,一般为1/2个,跑满会损坏机器!!!
产生2个cpu进程,2个io进程,20秒后停止运行
stress -c 2 -i 2 --verbose --timeout 20s
# --verbose 表示查看效果
# 如果执行时间为分钟,改20s 为1m,
通过另开终端 ,通过top
命令,按1
查看CPU/的效果
创建容器,限制cpu和内存
创建容器dockerset ,只运行在cpu0和cpu1上,限制份额为512
docker run -itd --name dockerset --cpuset-cpus 0,1 --cpu-shares 512 -m 128m rockylinux:8.9 /bin/bash
参数说明:
–cpuset-cpus 0,1 表示容器使用cpu0和cpu1;
–cpu-shares 512 表示cpu使用份额为512,该值为相对值,默认为1024;
-m 128m 表示使用内存为128M,该值一定要比该容器运行的服务所需内存大一些!;
查看内存大小: cat /sys/fs/cgroup/memory/memory.limit_in_bytes
确保容器在关机的时候可以自动起来
docker run --name always -itd --restart=always rockylinux:8.9 /bin/bash
参数说明:
–restart=always 可以使容器,在宿主机开机后,会自动运行起来。