k3s-io/k3s · error

failed to find %s cgroup (v2)

Error message

failed to find %s cgroup (v2)

What it means

Error "failed to find %s cgroup (v2)" thrown in k3s-io/k3s.

Source

Thrown at pkg/cgroups/cgroups_linux.go:70

	return nil
}

func validateCgroupsV2() error {
	manager, err := cgroupsv2.NewManager("/sys/fs/cgroup", "/", &cgroupsv2.Resources{})
	if err != nil {
		return err
	}
	controllers, err := manager.RootControllers()
	if err != nil {
		return err
	}
	m := make(map[string]struct{})
	for _, controller := range controllers {
		m[controller] = struct{}{}
	}
	for _, controller := range []string{"cpu", "cpuset", "memory"} {
		if _, ok := m[controller]; !ok {
			return fmt.Errorf("failed to find %s cgroup (v2)", controller)
		}
	}
	return nil
}

func CheckCgroups() (kubeletRoot, runtimeRoot string, controllers map[string]bool) {
	cgroupsModeV2 := cgroups.Mode() == cgroups.Unified
	controllers = make(map[string]bool)

	// For Unified (v2) cgroups we can directly check to see what controllers are mounted
	// under the unified hierarchy.
	if cgroupsModeV2 {
		m, err := cgroupsv2.NewManager("/sys/fs/cgroup", "/", &cgroupsv2.Resources{})
		if err != nil {
			return kubeletRoot, runtimeRoot, controllers
		}
		enabledControllers, err := m.Controllers()
		if err != nil {

View on GitHub (pinned to 6ba341e396)

When it happens

Trigger: Thrown at pkg/cgroups/cgroups_linux.go:70 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of k3s-io/k3s@6ba341e396 (2026-08-15). Data as JSON: /api/errors/e400a56a5d606007. Report an issue: GitHub.