【Docker】限制已运行容器的Cpu和内存

news2024/12/25 12:24:11

docker限制已运行容器的Cpu和内存

本文首发于 慕雪的寒舍

1.问题描述

最近云服务器的内存经常不够用,而且是莫名其妙的增多,在腾讯云的控制台里面看,4g的内存占用了3.2g,就卡到连ssh都连不上了

PS: 已换过网络和设备,确认不是网络问题导致无法ssh

img

实在没辙了,只能把我的几个不热门的kook-bot移植到replit白嫖,再限制一下lsky图床docker镜像的内存用量

其实主要是nsfw-api的内存用量,我发现有人故意给我的图床上传h图。lsky后台由于鉴黄不通过,不允许上传,也看不到是谁干的。隔这压力测试呢?

我的图床基本只对自己的博客使用。开放游客上传,也只是方便大家临时上传一些图片,还请大家手下留情!!!😥

这个操作我做了几次,也算是一个高频操作了。在此记录一下如何更改一个正在运行中容器的内存限制

2.修改内存限制

先使用ps命令查看当前容器和对应的id

docker ps

可以看到,lsky图床和nsfw的镜像分别是第二个和第三个

image-20230306184202020

再用stats命令查看当前的状态

docker stats

image-20230306184518474

可以看到,图床的内存没有进行限制,nsfw的内存已经被限制到了618mb,当前已用565mb,基本要满了

重启一下容器,发现初始化的时候只需要100mb左右的内存,合计着现在就有人在往图床里面上传图片?🤣🤣🤣

image-20230306184437446

这怎么行,直接给它内存限制干到512mb,能省一点内存是一点,不能因为图床导致我服务器卡死。

修改限制,要使用的是container update命令

参考文档

名称,简写默认值描述
–blkio-weight0阻塞IO(相对权重),介于101000之间,或0禁用(默认为0)
–cpu-period0限制CPU CFS(完全公平的调度程序)周期
–cpu-quota0限制CPU CFS(完全公平的调度程序)配额
–cpu-rt-period0限制CPU实时周期(以微秒为单位)
–cpu-rt-runtime0以微秒为单位限制CPU实时运行时间
–cpu-shares, -c0CPU份额(相对权重)
–cpuset-cpus允许执行的CPU(0-3,0)
–cpuset-mems允许执行的内存率(0-3,0.1)
–kernel-memory内核内存限制
–memory, -m内存限制
–memory-reservation内存软限制
–memory-swap交换限制等于内存加交换:-1以启用无限制的交换
–restart重新启动在容器退出时应用的策略

模板如下

docker container update 容器名 --memory="2g"  --memory-swap="-1"

上面的命令会限制容器的内存为2gb,交换内存设置为-1(以启用无限制的交换)

比如我现在想修改nsfw容器的内存限制,应该如下操作

docker container update nsfw-api --memory="0.5g" 

然后发现报错了

Error response from daemon: Cannot update container 418fc2a79fa7ad2e637babe17424ee60e9027ef4a7fada3f279864e76bdaaa10: Memory limit should be smaller than already set memoryswap limit, update the memoryswap at the same time

大概意思是让我们同时更新交换内存

docker container update nsfw-api --memory="0.5g"  --memory-swap="-1"

现在就ok了,执行成功会显示镜像的名字

nsfw-api

stats看一下,发现已经修改成功了

docker stats

image-20230306185809744

修改其他容器的效果也是一样的,目的已经达到啦!

3.修改cpu限制

下面的命令意思是限制容器只能使用主机上两个cpu

docker container update  容器名 --cpus=2

但我没有理解这个两个cpu是什么含义。考虑到大部分时期,cpu负载都不会很大,暂时先不设置这个了

https://www.cnblogs.com/sparkdev/p/8052522.html

https://zhuanlan.zhihu.com/p/388012843

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/455988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

只要10分钟,零代码基础搞定炫酷大屏设计(内附详细教程)

近几年可视化大屏再次被推上热搜,无论是已经结束的疫情时代指挥中心大屏,还是每年购物节的大屏数据成交额,或者是日常会议中的大屏分析,到处都是可视化大屏的身影。 有人会说,这种大屏一定需要大量的财力、技术顶端的…

开源构建系统Buck2发布

看来最近 Meta 的工程师是一点都没有闲着,前两天刚开源 AI 图像分割模型,这不就又发布了名为 Buck2 的开源构建系统。 Buck2 是一个已经在 Meta 内部使用了一段时间的大型构建系统,目前 Meta 有数千名开发人员正在使用该构建系统,…

IP地址配置

1.vi /etc/sysconfig/network-scripts/ifcfg-ens33 (在配置文件中修改) 配置文件内容为: IPADDR:配置IP地址 NETMASK:配置子网掩码 GATEWAY:配置网关 DNS:配置dns地址 BOOTPROTO:设置获取ip的方式\DHCP为动态获取\ static为…

C++(GCC)生成和使用静态库

C(GCC)生成和使用静态库 文章目录 C(GCC)生成和使用静态库1、前言1.1 什么是静态库1.2 静态库优缺点1.3 C使用静态库的方法1.4 注意事项 2、linux下C生成静态库.a3、链接使用静态库 更多精彩内容👉个人内容分类汇总 &a…

可算是熬出头了,测试4年,费时8个月,入职阿里,涨薪14K

前言 你的努力,终将成就无可替代的自己。 本科毕业后就一直从事测试的工作,和多数人一样,最开始从事点点点的工作,看着自己的同学一步一步往上走,自己还是在原地踏步,说实话这不是自己想要的状态。 一年半…

蓝牙耳机接打电话哪个比较好?接打电话最好的蓝牙耳机

技术已经发展到如此程度,耳机可以淹没嘈杂环境中不断出现的杂音,同时还能让我们在通话、音乐和娱乐方面保持清晰,既然如此,我们就来整理一下2023年适合通话和娱乐的无线耳机清单。 一、南卡小音舱Lite2蓝牙耳机 参考价格&#x…

Ubuntu系统下Python的虚拟环境搭建方法

文章目录 参考链接:一、Python虚拟环境的作用及创建方法简介1. 创建虚拟环境的必要性2. venv、virtualenv、pipenv三种创建虚拟环境方法比较2.1 搭建Python虚拟环境的方法2.2 venv、virtualenv方法2.3 pipenv方法 二、 virtualenv搭建虚拟环境1. 环境准备1.1 安装vi…

AI数字人产品“世优BOTA”发布会落幕,世优科技纪智辉演讲回顾

4月20日,世优科技式发布了新一代AI数字人产品——“世优BOTA”。在会上,世优科技创始人纪智辉介绍了数字人技术、驱动形式、数字人应用、“世优BOTA”的前世今生及未来。 以下是纪智辉的演讲内容概要: 各位嘉宾、各位朋友:大家下…

Storm proxies动态SEO监测优化为什么要大量用到http代理ip?

SEO监测和优化通常需要大量使用HTTP代理IP来实现以下几个方面的需求: 模拟不同地区的搜索结果:搜索引擎通常会根据用户所在地区提供不同的搜索结果,因此需要使用HTTP代理IP模拟不同地区的搜索结果,以便监测和优化针对不同地区的SE…

Matlab 相机标定

详细的原理可以看这篇 计算机视觉-相机标定,写的很赞 Step1. 准备 首先准备打印好的黑白棋盘格图片,并且保证表面的平整,例如35*35的棋盘格,贴在亚克力板上。 Step2. 拍摄 用相机拍摄棋盘格分别在取景框左上角、右上角、左下…

openGauss数据库pg_xlog爆满问题解决

文章目录 问题现象问题定位解决办法总结 问题现象 最近有一个之前搭的环境登不上了,好久没用想拿来测试的时候发现启动不了。启动时报错: [Errno 28] No space left on device query也不行了,提示没有空间了。 查询磁盘使用情况 df -h …

车间设备能源管理系统作用有哪些?

由于能源消耗不断的增加,对于高耗能企业要实现节能转型,淘汰落后高耗能产业,提供能源的有效利用,实现节能减排,合理利用能源,从而促进企业的经营绩效。 车间设备能源管理系统优点 1.精细化管理 可以对车…

探索【Stable-Diffusion WEBUI】的附加功能:图片缩放抠图

文章目录 (零)前言(一)附加功能(图片处理)(1.1)处理对象(Source)(1.2)缩放(Scale)(1.2.1&#xff…

【论文精读】TNNLS 2022 - 基于深度学习的事件抽取研究综述

【论文精读】TNNLS 2022 - 基于深度学习的事件抽取研究综述 【论文原文】:A Survey on Deep Learning Event Extraction Approaches and Applications 【作者信息】:Li, Qian and Li, Jianxin and Sheng, Jiawei and Cui, Shiyao and Wu, Jia and Hei,…

畅谈自然语言处理——初识NLP技术

畅谈自然语言处理——初识NLP 文章目录 畅谈自然语言处理——初识NLP一、引言二、NLP技术的定义分类三、三个发展阶段1、基于规则的算法2、基于统计的NLP算法3、基于深度学习的NLP算法 结语 一、引言 最近,一个名为ChatGPT的模型将计算机领域震撼,它以对…

Linux系统之部署webmin开源管理工具

Linux系统之部署webmin开源管理工具 一、webmin简介1.webmin简介2.webmin特点 二、本地环境介绍1.本次实践目的2.本地环境规划 三、检查本地环境1.检查操作系统版本2.检查系统内核版本 四、配置webmin的yum仓库1.编辑webmin.repo仓库文件2.查看yum仓库状态 五、部署webmin1.添加…

在docker安装Python环境提供给其他docker使用

1. 在宿主机新建一个目录2. 在app目录下新建一个Dockerfile文件本文永久更新地址: 1. 在宿主机新建一个目录 在宿主机上新建一个目录如app/,在app目录里面导入项目需要依赖的包 在项目根目录下输入命令,导出python项目所有的依赖包 pip freeze > r…

(二十二)查找算法-斐波那契算法

1 基本介绍 (1)黄金分割点是指一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位数字的近似值是0.618.由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神奇…

Android Fragment懒加载机制分析与详解

一、介绍 Fragment是Android3.0以后引进,称为碎片。它与Activity非常相似,用一个Activity中描述一些行为或者一部分用户界面,使用多个Fragment可以在一个单独的Activity中建立多个UI面板,也可以在多个Activity中使用Fragment。 Fr…

Linux I/O复用函数的使用情况和select接口的介绍

I/O 复用使得程序能同时监听多个文件描述符,这对于提高程序的性能至关重要。通常, 网络程序在下列情况下需要使用 I/O 复用技术: 1.TCP服务器同时要处理监听套接字和连接套接字 2.服务器同时要处理TCP请求和UDP请求。 3.程序同时要处理多个套…