当前位置: 首页 > java >正文

07_Docker 资源限制

        Docker 容器做资源限制,是为了不让某个容器抢光 CPU、内存等主机资源,保证所有容器都能稳定运行,还能避免宿主机资源被耗尽,让资源利用更高效,也方便管理和满足服务的性能要求。

监控容器资源使用情况

docker stats

1.限制CPU使用率

--cpus #限制CPU使用率,例如:--cpus 0.3  (限制1核CPU 30%)

            docker run -id --name 容器名 --cpus=限制的核数 镜像

#限制某个容器最大可使用CPU 0.3个核心

docker run -id --name centos7 --cpus=0.3 centos:7

2.限制内存

(1)限制内存

-m #限制内存

#内存限制为最多可使用100MB
docker run -id --name centos_mt1 -m=100M centos:7

(2)限制swap交换空间

--memory-swap=大小

#限制内存并限制交换空间

docker run -id --name centos_mt1 -m=100M --memory-swap=500M centos:7

3.限制磁盘

--storage-opt size=指定大小

#限制容器磁盘大小为10G

docker run -id --name centos-dt1 --storage-opt size=10G centos:7

        综合资源限制

            某小公司公司的服务器配置有限,当多个应用同时运行且访问量增加时,应用之间会争夺 CPU 和内存资源。例如,客户管理系统在处理大量客户数据查询时,会占用大量 CPU 资源,导致项目展示网站加载缓慢,影响用户体验。同时,由于没有对内存进行限制,某些应用可能会因内存泄漏而耗尽服务器内存,使整个服务器性能大幅下降甚至崩溃。

案例要求:CPU 1核、内存500、交换空间500

1.运行容器

docker run -id --name web01 \
--cpu=1 --cpus=1 -m=500M --memory-swap=500M \
-p 8081:80 -v /nginx/logs:/var/log/nginx/ nginx:1.27.2

2.监控使用资源

docker stats web01

3.测试验证:

#进入容器使用stress工具

docker exec -it web01 bash

#下载stress工具

apt update
apt install stress

#开始压力测试

stress --cpu 4 --timeout 60s

选项注释:

--cpu #指定要产生 CPU 压力的工作进程数量,--cpu 4 表示会启动 4 个 CPU 压力工作进程

--timeout #设置持续时间,到达设置的时间后自动结束压力测试

http://www.xdnf.cn/news/136.html

相关文章:

  • 软件研发技术团队管理规范
  • 安卓手机如何改ip地址教程
  • ETL数据集成平台在交通运输行业的五大应用场景
  • 旅游资源网站登录(jsp+ssm+mysql5.x)
  • LeetCode 259 题全解析:Swift 快速找出“满足条件”的三人组
  • RocketMQ 的详细使用教程
  • 【多目标进化算法】NSGA-II 算法(结合例子)
  • 【C++】 —— 笔试刷题day_19
  • Web3架构下的数据隐私与保护
  • 【数据结构_10】二叉树(2)
  • HarmonyOS:1.4 - HarmonyOS应用程序框架基础
  • Python(21)Python日期时间完全指南:从基础到实战注意事项
  • QT 文件和文件夹操作
  • 基于SpringBoot成绩管理系统设计与实现(源码+文档+部署讲解)
  • SAP系统中MD01与MD02区别
  • 如何使用Python进行自动化的系统管理?
  • 《软件设计师》复习笔记(14.2)——统一建模语言UML、事务关系图
  • TCL 亮相北京 InfoComm China 2025,引领商显智能化变革浪潮
  • AI数据分析与BI可视化结合:解锁企业决策新境界
  • Java 高并发核心:线程池使用详解 + 自定义参数配置全剖析(附源码+面试解析)
  • 基于ubuntu24.10安装NACOS2.5.1的简介
  • PHP腾讯云人脸核身获取Access Token
  • 【ESP32-IDF笔记】06-触摸传感IO配置
  • day1-小白学习JAVA(mac版)---(jdk安装和环境变量配置)
  • 《软件设计师》复习笔记(14.3)——设计模式
  • Java ThreadLocal内存泄漏分析
  • Docker Image export and load and tag
  • 所见即所得的前端 AI 工具 Readdy.ai
  • ubantu18.04(Hadoop3.1.3)之MapReduce编程
  • 算法-堆+单调栈