Docker的cgroup讲解

2021-01-14  本文已影响0人  老苗

最近在看一个微服务框架github.com/tal-tech/go-zero,在core/stat/internal目录下学习到cgroup知识,本文只涉及到了我所学习到的,正文开始。


概念

cgroup ,控制组,它提供了一套机制用于控制一组特定进程对资源的使用。cgroup绑定一个进程集合到一个或多个子系统上。官方解释

对于cgroup,其本身的作用只是任务跟踪。但其它系统(比如cpusets,cpuacct),可以利用cgroup的这个功能实现一些新的属性,比如统计或者控制一个cgroup中进程可以访问的资源。举个例子,cpusets子系统可以将进程绑定到特定的cpu和内存节点上。

如果未理解跳过往下看,回头再看

讲解

  1. /proc/[pid]/cgroup进程的cgroup信息,如下图:
  1. /sys/fs/cgroup/目录
  1. 附加:/proc/stat该文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻,如下图:
    /proc/stat

第一行代表总的cpu时间,单位是jiffies,jiffies是内核中的一个全局变量,用来记录自系统启动一来产生的节拍数,在linux中,一个节拍大致可理解为操作系统进程调度的最小时间片,不同linux内核可能值有不同,通常在1ms到10ms之间。

上一篇 下一篇

猜你喜欢

热点阅读