【DOCKER进阶】-3 cgroups

文章目录

  • [Docker Cgroups](#Docker Cgroups)
    • [一、Cgroups 简介](#一、Cgroups 简介)
    • 二、核心功能
    • 三、应用案例
    • [四、实操:CPU 资源实验](#四、实操:CPU 资源实验)
      • [1. 查看多 CPU 情况](#1. 查看多 CPU 情况)
      • [2. 让 CPU 下线](#2. 让 CPU 下线)
      • [3. 测试:查看是否有资源分配](#3. 测试:查看是否有资源分配)

Docker Cgroups

!note 核心摘要

  • Cgroups(Control Groups) :Linux 内核提供的资源控制 机制,与 Namespace 的"隔离视图"互补,负责 CPU、内存、存储等资源的限制与分配
  • 核心功能:资源限制、优先级分配、资源统计、进程控制
  • 本文档重点记录 CPU 资源相关的实操实验

一、Cgroups 简介

二、核心功能

  • 资源限制(Resource Limitation):cgroups 可以对进程组使用的资源总额进行限制。如设定应用运行时使用内存的上限,一旦超过这个配额就发出 OOM(Out of Memory)。
  • 优先级分配(Prioritization):通过分配的 CPU 时间片数量及硬盘 IO 带宽大小,实际上就相当于控制了进程运行的优先级。
  • 资源统计(Accounting):cgroups 可以统计系统的资源使用量,如 CPU 使用时长、内存用量等等,这个功能非常适用于计费。
  • 进程控制(Control):cgroups 可以对进程组执行挂起、恢复等操作。

三、应用案例

四、实操:CPU 资源实验

1. 查看多 CPU 情况

通过 /sys/devices/system/cpu 目录可以查看系统的 CPU 信息,其中每个 CPU 都有对应的 online 文件,1 表示在线,0 表示离线:

bash 复制代码
root@node01:~# ls /sys/devices/system/cpu
cpu0  cpu3     hotplug     modalias  possible  smt
cpu1  cpufreq  isolated    offline   power     uevent
cpu2  cpuidle  kernel_max  online    present   vulnerabilities
root@node01:~#

root@node01:~# ls /sys/devices/system/cpu/cpu1/online
/sys/devices/system/cpu/cpu1/online
root@node01:~# cat /sys/devices/system/cpu/cpu1/online
1
root@node01:~#

2. 让 CPU 下线

3. 测试:查看是否有资源分配

相关推荐
程序员老赵38 分钟前
Docker 部署青龙面板:轻松搭建定时任务管理平台
前端·docker·开源
TTATTC1 小时前
为什么单会话聊天做不好复杂工程?Claude Code 创作者的并发 Worktree 与记忆闭环实践
docker·开源
TTATTC1 小时前
状态机驱动长事务,还是 DAG 编排高并发?高可靠业务流程引擎的双核架构设计
docker·开源
殷忆枫1 小时前
告别依赖地狱!在 Ubuntu 上用 Docker 极速部署 Home Assistant 与 MQTT,并接入 Siri 与嵌入式 C 终端
linux·ubuntu·docker
千桐科技3 小时前
qModel算法模型平台功能解析:从源码到 Docker 镜像,部署能自动完成哪些工作?
运维·docker·容器·qmodel
mengge.cloud5 小时前
1019Namespace ,Contexts ,Kubernetes Pod
运维·服务器·网络·云原生·容器·kubernetes·云计算
江湖有缘5 小时前
Docker实战 | 使用Docker部署Imagor Studio图片编辑工具
java·docker·eureka
Xxtaoaooo5 小时前
私人日记不想散落在多个App?我用DailyTxT把记录、搜索和图片都放进自己的NAS
docker·nas·dailytxt
吴声子夜歌5 小时前
Docker入门与实战——Etcd(高可用的键值数据库)
数据库·docker·etcd
flytalei6 小时前
从 Docker Compose 到 K3s:逐浪博客 MySQL 数据迁移实战与一致性验证
mysql·docker·容器