Docker技术内幕2——Cgroup的接口和使用

     通过上一篇文章,我们已经了解到,Cgroup是Linux内核提供的一个特性,用于限制和隔离一组进程对系统资源的使用。

Cgroup的原生接口通过cgroupfs提供,是一种虚拟文件系统。默认被挂载到/sys/fs/cgroup目录下。

Docker技术内幕2——Cgroup的接口和使用_第1张图片

下面我们利用Cgroup特性来限制CPU的使用。

首先我们写一个消耗CPU的脚本,代码如下:

#!/bin/sh

x=0
while [ True ];do
    x=$x+1
done;

发现CPU都93%了。

Docker技术内幕2——Cgroup的接口和使用_第2张图片

下面通过cgroup来控制这个进程的CPU资源。

mkdir -p /sys/fs/cgroup/cpu/topshell
 
  
echo 5000 > /sys/fs/cgroup/cpu/topshell/cpu.cfs_quota_us
echo 27106 > /sys/fs/cgroup/cpu/topshell/task

Docker技术内幕2——Cgroup的接口和使用_第3张图片

直接限制到5%。

你可能感兴趣的:(Docker与云安全,Shell)