comment vérifier si le système utilise cgroupv1?
docker ne peut utiliser que cgroupv1, mais fedora par défaut n'utilise que cgroupv2. Comment vérifier si le système est compatible avec cgroupv1?
Jusqu'à présent, la réponse à cette question ne peut déterminer que si cgroupv2 est installé. Mais il ne peut pas déterminer s'il est unified_cgroup_hierarchydéfini sur 0 ou 1. Existe-t-il un moyen uniforme de déterminer si le système est compatible avec cgroupv1, que cgroupv2 soit installé ou non?
Jusqu'à présent, j'utilise mount -lpour vérifier s'il y en a cgroup2 on /sys/fs/cgroup. Si c'est le cas, cela signifie uniquement cgroupv2. Cette méthode est-elle universellement applicable dans toutes les distributions? Jusqu'à présent, je n'ai testé que sur Fedora et ubuntu. Sinon, existe-t-il un moyen universel de déterminer cela?
Réponses
Je suivrais l'approche utilisée par systemd :
- s'il
/sys/fs/cgroupexiste et se trouve sur uncgroup2système de fichiers, le système fonctionne avec une hiérarchie unifiée complète; - s'il
/sys/fs/cgroupexiste et se trouve sur untmpfssystème de fichiers,- si l'un
/sys/fs/cgroup/unifiedou l' autre/sys/fs/cgroup/systemdexiste et se trouve surcgroup2des systèmes de fichiers, le système utilise une hiérarchie unifiée pour le contrôleur systemd uniquement; - s'il
/sys/fs/cgroup/systemdexiste et se trouve sur uncgroupsystème de fichiers (ou, comme solution de secours, s'il existe et n'est pas sur uncgroup2système de fichiers), le système utilise une hiérarchie héritée.
- si l'un