O Alibaba Cloud Linux 4 usa cgroup v2 por padrão. Se suas cargas de trabalho dependem de APIs do cgroup v1 — como agentes de monitoramento antigos, runtimes de contêiner ou aplicações Java sem suporte a cgroup v2 — altere a versão ativa do cgroup para v1.
O cgroup v1 e o cgroup v2 diferem significativamente em design e API. Para comparar, consulte Diferenças entre cgroup v1 e cgroup v2 .
Quando alternar para cgroup v1
Altere para cgroup v1 se o ambiente incluir software que acessa diretamente o sistema de arquivos cgroup e ainda não oferece suporte ao cgroup v2. Casos comuns incluem:
Agentes de monitoramento ou segurança de terceiros dependentes de subsistemas do cgroup v1
Runtimes de contêiner antigos ainda não atualizados para cgroup v2
O kernel inclui tanto o cgroup v1 quanto o cgroup v2 compilados. O systemd define a versão ativa na inicialização com base nos parâmetros da linha de comando do kernel, e não o próprio kernel. Os parâmetros adicionados nas etapas abaixo instruem o systemd a montar as hierarquias do cgroup v1 durante a inicialização.
Pré-requisitos
Antes de começar, verifique se você tem:
Acesso root à instância do Alibaba Cloud Linux 4
Alternar para cgroup v1
-
Verifique a versão atual do cgroup.
mount | grep cgroupSe a saída contiver
cgroup2, o cgroup v2 está ativo:cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot) -
Adicione os parâmetros de kernel do cgroup v1 à entrada de inicialização atual.
grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="systemd.unified_cgroup_hierarchy=0 systemd.legacy_systemd_cgroup_controller" -
Reinicie a instância para aplicar as alterações.
reboot
Verificar se o cgroup v1 está ativo
Após reiniciar a instância, confirme se o cgroup v1 está ativo.
-
Execute a verificação de montagem.
mount | grep cgroupA saída deve mostrar uma montagem
tmpfsem/sys/fs/cgroupe montagens individuais de subsistemas abaixo dela, em vez de uma única entradacgroup2:tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,size=4096k,nr_inodes=1024,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event) cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids) cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)A montagem
tmpfsem/sys/fs/cgroupe as montagens individuais dos subsistemas (comomemory,cpu,cpuaccteblkio) confirmam que o cgroup v1 está ativo. -
(Opcional) Liste os subsistemas montados em
/sys/fs/cgroup/.ls /sys/fs/cgroup/