CGroup系列十FREEZER子系统

Posted 高桐@BILL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CGroup系列十FREEZER子系统相关的知识,希望对你有一定的参考价值。

写在前面

FREEZER子系统可以暂停或者恢复控制组中的进程。

 

一、freezer.state(可读写)

freezer.state 只能用于非跟CGroup层级的进程中(也就是说仅在根层级下的控制组中才可见,如上/sys/fs/cgroup/freezer层级下没有freezer.state参数文件,而在其目录下的控制组test中是存在的),实际上是self和parent-self的结合。只要任一是冻结状态,控制组就是冻结状态。参数文件值常常有以下3中:

  • FROZEN--控制组的任务已被冻结。当控制组中的所有进程或子控制组的进程被冻结,状态将会由FREEZING进入FROZEN。当一个新进程被添加到控制组或自控制组,该参数文件状态会由FROZEN回到FREEZING状态,直到该进程被冻结。
  • FREEZING--系统正在冻结控制组中的进程。
  • THAWED-控制组中的任务已恢复。

上面这三种状态,FREEZING仅只读。FROZEN和THAWED值可被写入freezer.state参数文件。如果THAWED被写入到该参数文件,如果父控制组状态仍然是冻结状态的化,当前控制组状态不会改变。

如果要暂停某一进程,只需要将该进程附加到freezer子系统所挂载的层级下控制组中的ta

以上是关于CGroup系列十FREEZER子系统的主要内容,如果未能解决你的问题,请参考以下文章

CGroup系列十二PIDS子系统

CGroup系列十三RDMA子系统

CGroup系列十四MISC子系统

CGroup系列十一NET_CLSNET_PRIO子系统

CGroup原理篇V1十HugeTLB子系统

CGroup系列六CPUACCT子系统