docker容器资源控制cgroup

2023-10-27

命名空间

六种 namespace

 

资源配额[cgroups]

mount -t cgroup

cd /sys/fs/cgroup/

cd memory/

默认是没有限制

 

现在更改内存使用

free  -m

mount -t cgroup

bc

1024*200*1024   算出200M

 

mkdir x1

cd x1

echo  209715200 > memory.limit_in_bytes

cat tasks   写入需要控制的pid

 

cd /dev/shm

dd if=/dev/zero of=bigfile bs=1M count=100

这里使用内存就会减少100M

这样不会和其他进程共享内存

yum install -y  libcgroup

yum search cgroup

cgexec -g memory:x1 dd of=/dev/zero  of=bigfile bs=1M count=1--

采用memory中x1子控制器

rm -fr bigfile 取消控制

表示超出限制就不会生成

 

cgroup

mount -t cgroup

[root@foundation11 ~]# mount -c cgroup
mount: cgroup is already mounted or /sys/fs/cgroup/memory busy
       cgroup is already mounted on /sys/fs/cgroup/systemd
       cgroup is already mounted on /sys/fs/cgroup/blkio
       cgroup is already mounted on /sys/fs/cgroup/net_cls,net_prio
       cgroup is already mounted on /sys/fs/cgroup/perf_event
       cgroup is already mounted on /sys/fs/cgroup/cpuset
       cgroup is already mounted on /sys/fs/cgroup/hugetlb
       cgroup is already mounted on /sys/fs/cgroup/cpu,cpuacct
       cgroup is already mounted on /sys/fs/cgroup/devices
       cgroup is already mounted on /sys/fs/cgroup/pids
       cgroup is already mounted on /sys/fs/cgroup/freezer
       cgroup is already mounted on /sys/fs/cgroup/memory

[root@foundation11 ~]# mount -t cgroup
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)

 

cd /sys/fs/cgroup/cpu

mkdir x1

cd x1

[root@foundation11 cpu]# cd x1/
[root@foundation11 x1]# ls
cgroup.clone_children  cpu.cfs_quota_us
cgroup.event_control   cpu.rt_period_us
cgroup.procs           cpu.rt_runtime_us
cpuacct.stat           cpu.shares
cpuacct.usage          cpu.stat
cpuacct.usage_percpu   notify_on_release
cpu.cfs_period_us      tasks

 

在一个周期里面

dd if=/dev/zero  of=/dev/null &

top  ;按1 查看cpu

找到pid

echo     > tasks

[root@foundation11 x1]# ls
cgroup.clone_children  cpuacct.stat          cpu.cfs_period_us  cpu.rt_runtime_us  notify_on_release
cgroup.event_control   cpuacct.usage         cpu.cfs_quota_us   cpu.shares         tasks
cgroup.procs           cpuacct.usage_percpu  cpu.rt_period_us   cpu.stat
[root@foundation11 x1]# pwd
/sys/fs/cgroup/cpu/x1

就可以限制cpu

 docker run --it   --name vm1 --cpu-quota=50000 ubuntu

[root@foundation11 ~]# docker run -it --name vm1 --cpu-quota=50000 ubuntu
root@5973b076bd53:/# dd if=/dev/zero of=/dev/null

44089023+0 records out
22573579776 bytes (23 GB) copied, 65.2087 s, 346 MB/s

 

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND

6496 root      20   0    4368    360    280 R  50.0  0.0   0:05.54 dd

 

控制写入速度

 

docker run -it --rm --privileged=true ubuntu   超户登入

fdisk -l

cat /proc/partitions

docker run -it --rm  --device-write-bps  /dev/sda:30MB ubuntu

dd if=/dev/zero of=file bs=1M count=300 oflag=direct

仅支持直连IO  不过文件系统缓存

[root@foundation11 ~]# docker run -it --rm  --device-write-bps  /dev/sda:30MB  ubuntu
root@9a511e976eb3:/# dd if=/dev/zero of=file bs=1M count=300 oflag=direct
300+0 records in
300+0 records out
314572800 bytes (315 MB) copied, 9.92418 s, 31.7 MB/s

 

/sys/fs/cgroup/freezer/docker

docker pause/unpause 也是对cgoup进行操作

 

 

安装lxcfs

yum install lxcfs-2.0.5-3.el7.centos.x86_64.rpm -y

lxcfs /var/lib/lxcfs/ &

出现问题

fuse: mountpoint is not empty

删掉原有文件/var/lib/lxcfs/    lxcfs /var/lib/lxcfs/ &

docker run -it --name vm1 -m 200m -v /var/lib/lxcfs/proc/cpuinfo:/proc/cpuinfo -v /var/lib/lxcfs/proc/diskstats:/proc/diskstats -v /var/lib/lxcfs/proc/meminfo:/proc/meminfo -v /var/lib/lxcfs/proc/stat:/proc/stat -v /var/lib/lxcfs/proc/swaps:/proc/swaps -v /var/lib/lxcfs/proc/uptime:/proc/uptime ubuntu

free -m

root@bac00272ffe3:/# free -m
             total       used       free     shared    buffers     cached
Mem:           200          2        197        299          0          0
-/+ buffers/cache:          2        197
Swap:          200          0        200

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker容器资源控制cgroup 的相关文章

随机推荐

  • vue--element表格切换数据,选中不生效

    问题 点击 仅显示已选择 时 toggleRowSelection 无效 原因 可能是在修改后的table的数据里 有什么和之前不一样了 导致匹配不到对应的列 解决方案 使用find或者别的数组检索函数 找到table里的那一条数据 而不是
  • springboot整合swagger2+跨域问题

    前言 本篇文章主要介绍的是springboot整合swagger2 swagger2是一个规范和完整的框架 用于生成 描述 调用和可视化Restful风格的web服务 这里介绍两种方式实现 第一种是在yml中添加配置 第二种是添加配置类 G
  • 关于 iw

    本文转自 http blog csdn net robertsong2004 article details 40044947 关于 iw iw 是一种新的基于 nl80211 的用于无线设备的CLI配置实用程序 它支持最近已添加到内核所有
  • 网站怎么防止ddos攻击,防御ddos攻击的11种方法

    为了对抗 DDoS 分布式拒绝服务 攻击 你需要对攻击时发生了什么有一个清楚的理解 简单来讲 DDoS 攻击可以通过利用服务器上的漏洞 或者消耗服务器上的资源 例如 内存 硬盘等等 来达到目的 DDoS 攻击主要要两大类 带宽耗尽攻击和资源
  • C++ 容器vector 语法练习

    编程不是什么技术活 就是个手工活 常常练习 否则手很生 前面写个一次 很久不用就忘记了 http blog csdn net sergery article details 8144354 cpp view plain copy C Pri
  • prometheus(二)——数据模型、数据模块、表达式浏览器

    文章目录 一 prometheus数据模型 1 概述 2 指标类型 3 作业job和实例targets instance 4 prometheusQL 数据查询语言也是时序数据库使用语言 二 prometheus数据模块 三 表达式浏览器
  • [Pytorch系列-49]:卷积神经网络 - 迁移学习的统一处理流程与软件架构 - Pytorch代码实现

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121312731 目录 第1章 关于F
  • pythone二级题库 + 刷题软件 (超详细解析,看完必过) 第十套

    刷 题软件 模拟python二级考试 操作题刷题软件 1 某系统结构图如下图所示 该系统结构图的深度是 img src 10 1 3 A 4 B 2 C 3 D 1 本题考查知识点是深度 结构图的深度表示控制的层数 同一层上所有结点的所有子
  • 正则表达式之(年龄)(电话号码)(姓名)

    最近在项目中遇到验证的问题 年龄在1 180 姓名姓名为2 18中文和英文结合的字符 电话号码的验证 所以这里来备份一下 电话号码 let telphone 13 0 9 14 579 15 0 3 5 9 16 6 17 0135678
  • spss正态性检验_参数检验与非参数检验如何用?

    1 参数检验 两个独立样本 什么是独立样本 将研究对象随机的分配到两组中 分别接受不同的处理 或分别从两个总体中完全随机的抽取一部分个性进行研究 这样的样本就是独立样本 相应的T检验就是独立样本T检验 什么时候运用参数检验 什么时候运用非参
  • /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libmysqlclient.a(libmysql.c.o): In function

    在CentOS系统中编译mysql程序 出现这种错误 usr lib gcc x86 64 redhat linux 4 8 5 lib64 libmysqlclient a libmysql c o In function fetch f
  • canvas--标尺

    项目开发过程中 会遇到标尺的功能 标尺可以通过canvas来实现 具体实现如下 1 html代码
  • Stata数据处理。如何处理删除某个公司的某个年份缺失的公司的数据

    stata处理数据 删除某个公司的某个年份缺失的公司的数据 例如 code year 1 2002 1 2003 1 2004 1 2005 2 2002 2 2003 2 2004 code有很多 不知道哪个年份缺少 如何解决 谢谢大家
  • selenium实现截图(python)

    由于需要使用python的selenium库来实现批量对URL的截图 在使用过程中遇到一些小坑 记录下来 使用selenium库截图 第一步 确定我们是需要使用selenium库的截图函数 即save screenshot test png
  • 论文阅读: Going Deeper with Point Networks

    论文题目 Going Deeper with Point Networks Arxiv 2019 pytorch 特点 减小显存使用 使得网络可以更深 效果变好的同时计算量增加不大 pointnet整个网络只有到最后才集合了全局特征 因此他
  • 抱薪者说

    Conflux 网络上线一周年在即 在这将近一年的时间里 Conflux 链上合约部署超 5 266 个 用户数超 476 381 共 24 129 394 笔交易被处理 链上集合了 400 开发者 共书写代码超 291 558 行 网络代
  • 在 Python 中如何实现类的继承,方法重载及重写?

    作者 苏凉 py 来源 CSDN博客 今天我们将进入类的继承以及对类的方法重写及重载的学习 话不多说直接进入正题 类的继承 如果要编写的类是另一个现成类的特殊版本 那我们就可以使用继承 一个类继承另一个类时 将自动获得另一个类的所有属性和方
  • 使用 FFmpeg 生成 ts 切片并使用 AES-128 加密

    前言 最近有个需求 需要将服务器视频资源进行加密提供给客户端播放 防止用户盗用视频 常用的加密方式 m3u8切片加密 本文使用 各种在线播放视频的网站广泛使用的技术 切片同样是使用AES加密算法 优点 各种浏览器 手机 小程序都能兼容 通用
  • CommonJS、AMD、CMD、ES Module

    依赖前置和依赖就近 RequireJS采用依赖前置 举个例子就是炒菜前一次性把所有食材洗好 切好 根据内部逻辑把有些酱料拌好 最后开始炒菜 前面任何一个步骤出现问题都能较早发现错误 SeaJS的依赖就近就是要炒青椒了去切青椒要炒肉了去切肉
  • docker容器资源控制cgroup

    命名空间 六种 namespace 资源配额 cgroups mount t cgroup cd sys fs cgroup cd memory 默认是没有限制 现在更改内存使用 free m mount t cgroup bc 1024