5.cgroup资源控制
Posted leleyao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.cgroup资源控制相关的知识,希望对你有一定的参考价值。
控制组( CGroups)是 Linux 内核的一个特性,主要用来对共享资源进行隔离、限制、审计等。 只有将分配到容器的资源进行控制,才能避免多个容器同时运行时对宿主机系统的资源竞争。每个控制组是一组对资源的限制,支持层级化结构。 控制组技术最早是由 Google 的程序员在 2006 年提出的, Linux 内核自 2.6.24 开始原生 支持,可以提供对容器的内存、 CPU、磁盘 IO 等资源进行限制和计费管理。 最初的设计目标是为不同的应用情况提供统一的接口,从控制单一进程( 比如 nice 工具)到系统级虚拟化 。
具体来看,控制组提供如下功能:
资源限制( resource limiting):可将组设置一定的内存限制。 比如:内存子系统可以 为进程组设定一个内存使用上限,一旦进程组使用的内存达到限额再申请内存,就会 出发 Out of Memory 警告。
优先级(prioritization):通过优先级让一些组优先得到更多的 CPU 等资源。nice
资源审计( accounting):用来统计系统实际上把多少资源用到适合的目的上,可以使 用 cpuacct 子系统记录某个进程组使用的 CPU 时间。
隔离(isolation):为组隔离命名空间,这样使得一个组不会看到另一个组的进程、 网 络连接和文件系统。
控制(control):执行挂起、 恢复和重启动等操作。
以上是关于5.cgroup资源控制的主要内容,如果未能解决你的问题,请参考以下文章