国内最专业的IT技术学习网

UI设计

当前位置:主页 > 亚博2018体育博彩 >

浅谈Cgroups(二)

发布时间:2019/07/11标签:   文件    点击量:

原标题:浅谈Cgroups(二)
1. 配景上一篇文章《浅谈Cgroups》对cgroup v1停止了先容,然而因为以后k8s应用cephfs停止数据存储,当多租户应用时,须要对IO停止限度。以后cgroup v1因为memcg与blkio没有合作,招致buffer io的throttle始终没有完成。而且cgroup v1在内核的完成始终比拟凌乱,此中重要的起因在于,cgroup为了供给机动性,同意过程能够属于多个hierarchy的差别的group。但现实上,多个hierarchy并没有太大的用途,由于操纵器(controller)只能属于一个hierarchy。 以是在现实应用中,平日是每个hierarchy一个操纵器。这类多hierarchy除了增添代码的庞杂度和懂得艰苦外,并没有太大的用途。一方面,跟踪过程全部controller变得庞杂;别的,各个controller之间也很难协同任务(由于controller能够属于差别的hierarchy, 以是从3.16开端,内核开端转向繁多档次(unified hierarchy)。而且完成了对buffer io的限度。2.Cgroups v2的变更因为Cgroups v1存在的各种成绩,Cgroups v2将多hierarchy的方法酿成了unified hierarchy,并将全部的controller挂载到一个unified hierarchy。以后kernel没有移除Cgroups v1版本,同意Cgroups v1和v2两个版本共存。然而雷同的controller不能同时mount到这两个差别的Cgroup版本中。以下是Cgroups v2的五点改良: Cgroups v2 中全部的controller都市被挂载到一个unified hierarchy下,不在存在像v1中同意差别的controller挂载到差别的hierarchy的情形 Proess只能绑定到cgroup的根(“/“)名目和cgroup名目树中的叶子节点 经过cgroup.controllers和cgroup.subtree_control指定哪些controller能够被应用 v1版本中的task文件和cpuset controller中的cgroup.clone_children文件被移除 当cgroup为空时的告诉机制失掉改良,经过cgroup.events文件告诉3.unified hierarchy在Cgroups v1同意将差别的controller挂载到差别的hierarchies固然很机动,但现实上这类方法关于应用者来讲是没有须要的。因而在Cgroups v2版本中,将全部的controller都挂载到一个hierarchies。能够应用上面下令将Cgroups v2挂载到文件体系,而且全部可用的controller会主动被挂载出来。mount-tcgroup2none$MOUNT_POINT一个contoller无奈在Cgroups v1和v2中同时应用,假如想在Cgroups v2应用曾经被Cgroups v1应用的controller,则须要先将其从Cgroups v1中umount掉。要留神的是,体系启动时,systemd默许应用Cgroups v1,并将能够应用的controller mount到/sys/fs/cgroup。假如想在体系启动时,把Cgroups v1关掉,能够在/etc/default/grub文件下修正kernel参数,增添GRUB_CMDLINE_LINUX_DEFAULT="cgroup_no_v1=all"。(all表现封闭全部的controller,假如想封闭指定的controller,则将all调换成你须要的controller称号,并已逗号分开便可)。如许便可以在Cgroups v2中应用你想要的controller了。4.controllers以后cgroup v2支撑以下controller: io (since Linux 4.5) memory (since Linux 4.5) pids (since Linux 4.5) perf_event (since Linux 4.11) rdma (since Linux 4.11) cpu (since Linux 4.15)5.subtree control在hierarchy下的每一个Cgroup中都市包括以下两个文件 cgroup.controllers:这是一个read-only文件。包括了该Cgroup下全部可用的controllers. cgroup.subtree_control:这个文件中包括了该Cgroup下曾经被开启的controllers。 而且cgroup.subtree_control中包括的controllers是cgroup.controllers文件controller的子集。cgroup.subtree_control文件内容格局以下,controller之间应用空格距离,后面用”+”表现启用,应用”-“表现停用。比方上面的例子:echo'+pids-memory'>x/y/cgroup.subtree_control

上一篇:100个很受欢迎的Ubuntu应用(上)

下一篇:没有了

返回
版权信息Copyright ? IT技术教程 版权所有??? ICP备案编号:鲁ICP备09013610号