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

dockerdocker-copose_限制容器cpu和内存

本文目录

  • docker的限制方式
    • 限制CPU占用
    • 限制内存占用
  • docker-compose

docker的限制方式

限制CPU占用

Docker使用--cpus参数来限制容器的CPU资源。该参数指定了分配给容器的CPU核心数量或百分比。

例子:限制CPU使用个数

docker run --cpus=2 <imageName>

以上命令代表限制容器使用2个CPU核心

例子:限制CPU使用百分比

docker run --cpus=0.1 <imageName>

以上命令代表限制容器使用10%的CPU利用率。

使用--cpuset-cpus参数来限制容器可以使用的具体CPU核心,通过使用逗号分隔的CPU编号列表。

docker run --cpuset-cpus=0,2 <imageName>

以上命令代表限制容器只能使用第1个和第3个的CPU核心。

限制内存占用

Docker使用-m,--memory参数来限制容器可使用的内存大小,使用--memory-swap参数来限制容器可使用的内存+交换分区大小。

参数含义
-m,–memory限制容器可使用的内存大小,单位可为‘b,k,m,g’,最小为4m
–memory-swap限制容器可使用的内存+交换分区大小,值要比-m参数的值大,建议为-m的2倍

交换分区的含义:

在内存不足的情况下交换分区充当临时存储引擎,当容器需要更多的内存时,交换区会对缓存中的数据进行移动,以便为应用程序留出更多的内存空间。交换分区通常是由操作系统在硬盘上创建的,它的访问速度慢于内存,因此在需要时尽量避免使用交换区,尤其是在容器中。因此,建议将--memory-swap参数设置得高一些,但不要超过宿主机的物理内存大小。

当宿主机没有开启swap ,那么--memory-swap不管怎么设置,都不会用到swap,这时容器使用的最大内存为--m参数设置的大小。

例子:

docker run --m=1g <imageName>
docker run --m=1g --memory-swap=2g <imageName>

--memory--memory-swap组合配置有什么不通的含义?

–memory–memory-swap效果
1g0/不限制容器最大可用内存为 2g,其中 ram 为 1g,swap 为 1g
1g2g容器最大可用内存为 2g,其中 ram 为 1g,swap 为 1g
1g-1容器最大可用内存为 1g+主机可用swap

docker-compose

docker-compose.yaml文件如下

version: '3'
services:app:restart: alwaysimage: app-server:V1.0.0deploy:resources:limits:cpus: '0.1' #使用的容器的CPU核心数量或百分比cpuset: '0-3' #可以使用的具体CPU核心1~3memory: 1G #内存上限为1Gmemswap_limit: 2G #内存+swap内存总上限为2Greservations:memory: 256M #内存预留为256Mcpus: "0.1"  # 保留的CPU使用量为10%
http://www.lryc.cn/news/309875.html

相关文章:

  • 【leetcode】圆圈中最后剩下的数字
  • 利用python批量将.shp文件转换坐标生成.geojson文件,再将.geojson转换成.csv文件,最后将csv文件插入数据库表
  • 远程服务器Ubuntu 18.04安装VNC远程桌面
  • 30天自制操作系统(第23天)
  • 基于Rust语言,和WebAssembly技术,与JavaScript结合,的具体应用场景
  • 【MATLAB源码-第154期】基于matlab的OFDM系统多径信道下块状和梳妆两种导频插入方式误码率对比仿真。
  • Linux 下 socket 编程介绍及 TCP 客户端与服务端创建示例
  • JetBrains Gateway Github Copilot 客户端插件和主机插件
  • 【web APIs】3、(学习笔记)有案例!
  • 使用css reset 还是使用Normalize.css
  • 英语中的提问方式(问法)(bug提问、bug描述)
  • xss.haozi.me靶机练习
  • 2.1 mov、add和sub加减指令实操体验
  • 计算机设计大赛 深度学习机器视觉车道线识别与检测 -自动驾驶
  • 中间件安全(概述)有中间件的各类链接和官网信息和漏洞库以及配置问题和开源工具
  • Unity铰链四杆机构设计和运动仿真
  • Python爬虫——解析常用三大方式之Xpath
  • C#判断DataTable1 A列的集合是否为DataTable2 B列的集合的子集
  • VirtualBox 桥接网卡 未指定 “未能启动虚拟电脑Ubuntu,由于下述物理网卡未找到:”
  • 基于yolov5的电瓶车和自行车检测系统,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】
  • vscode如何远程到linux python venv虚拟环境开发?(python虚拟环境、vscode远程开发、vscode远程连接)
  • 蓝桥杯第十二届电子类单片机组程序设计
  • 基于springboot+vue的工作流程管理系统
  • 【LeetCode刷题】146. LRU 缓存
  • 奇酷网络用AI思维办公:不允许做PPT,只能用Word,只能一页纸
  • 【笔记】-编程语言以及应用领域
  • MWC 2024丨美格智能推出5G RedCap系列FWA解决方案,开启5G轻量化新天地
  • mTLS: openssl创建CA证书
  • Python 进阶语法:os
  • 测试需求平台9-Table 组件应用产品列表优化