【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. 测试:查看是否有资源分配

相关推荐
core5127 小时前
如何从多架构 Docker 镜像中导出指定的 ARM64 版本
华为·docker·架构·镜像·导出·多架构
雪碧聊技术7 小时前
使用Docker,将fastApi项目部署到linux服务器
服务器·docker·fastapi·docker部署fastapi
我有2只猫7 小时前
vLLM Docker 本地部署小模型
docker·容器·vllm
仍然.7 小时前
SpringCloud---Eureka介绍
java·spring cloud·eureka
腾讯数据架构师8 小时前
壁仞 GPU 怎么接入 Kubernetes 和 AI 平台?CubeStudio 壁仞算力适配实操
人工智能·容器·kubernetes·cube-studio·ai平台
有脚就行8 小时前
第28篇-Kubernetes-GPU调度机制-Device-Plugin与GPU-Operator
人工智能·容器
Oo9208 小时前
Docker 入门:把应用和运行环境一起打包
docker
梦梦代码精10 小时前
用开源BuildingAI打造C端AI助手,内置写作/绘画/长文/漫剧,商业化模块全预制
docker·ai·ai作画·开源·代码规范
huaiixinsi11 小时前
Docker 负责打包,Kubernetes 负责调度:一文吃透容器化与 K8s 编排
docker·容器·kubernetes