control groups trong Linux kernel có gì mà Podman container Docker Container và Cloud Linux cần xài

Control Group support

CONFIG_CGROUPS:

This option adds support for grouping sets of processes together, for
use with process control subsystems such as Cpusets, CFS, memory
controls or device isolation.
See
      - Documentation/scheduler/sched-design-CFS.rst	(CFS)
      - Documentation/admin-guide/cgroup-v1/ (features for grouping, isolation
                                and resource control)

Say N if unsure.

Symbol: CGROUPS [=y]
Type  : bool
Defined at init/Kconfig:932
  Prompt: Control Group support
  Location:
    -> General setup
      -> Control Group support (CGROUPS [=y])
Selects: KERNFS [=y]
Selected by [y]:
  - SCHED_AUTOGROUP [=y]

Favor dynamic modification latency reduction by default

CONFIG_CGROUP_FAVOR_DYNMODS:

This option enables the "favordynmods" mount option by default
which reduces the latencies of dynamic cgroup modifications such
as task migrations and controller on/offs at the cost of making
hot path operations such as forks and exits more expensive.

Say N if unsure.

Symbol: CGROUP_FAVOR_DYNMODS [=n]
Type  : bool
Defined at init/Kconfig:951
  Prompt: Favor dynamic modification latency reduction by default
  Depends on: CGROUPS [=y]
  Location:
    -> General setup
      -> Control Group support (CGROUPS [=y])
        -> Favor dynamic modification latency reduction by default (CGROUP_FAVOR_DYNMODS [=n])

Memory controller

CONFIG_MEMCG:

Provides control over the memory footprint of tasks in a cgroup.

Symbol: MEMCG [=y]
Type  : bool
Defined at init/Kconfig:961
  Prompt: Memory controller
  Depends on: CGROUPS [=y]
  Location:
    -> General setup
      -> Control Group support (CGROUPS [=y])
        -> Memory controller (MEMCG [=y])
Selects: PAGE_COUNTER [=y] && EVENTFD [=y]

IO controller

CONFIG_BLK_CGROUP:

Generic block IO controller cgroup interface. This is the common
cgroup interface which should be used by various IO controlling
policies.

Currently, CFQ IO scheduler uses it to recognize task groups and
control disk bandwidth allocation (proportional time slice allocation)
to such task groups. It is also used by bio throttling logic in
block layer to implement upper limit in IO rates on a device.

This option only enables generic Block IO controller infrastructure.
One needs to also enable actual IO controlling logic/policy. For
enabling proportional weight division of disk bandwidth in CFQ, set
CONFIG_BFQ_GROUP_IOSCHED=y; for enabling throttling policy, set
CONFIG_BLK_DEV_THROTTLING=y.

See Documentation/admin-guide/cgroup-v1/blkio-controller.rst for more information.

Symbol: BLK_CGROUP [=y]
Type  : bool
Defined at init/Kconfig:973
  Prompt: IO controller
  Depends on: CGROUPS [=y] && BLOCK [=y]
  Location:
    -> General setup
      -> Control Group support (CGROUPS [=y])
        -> IO controller (BLK_CGROUP [=y])