Hallo,
Ich melde ein blockierendes Problem für alle externen Integrationen auf meinem Khadas VIM1S (Ubuntu 24.04, Kernel Amlogic 7.0.0+).
Symptom — Externe Integrationen können nicht gestartet werden (getestet mit Shelly), Fehler in den Logs:
Cannot restart container XXX: ... error setting cgroup config for procHooks process:
openat2 /sys/fs/cgroup/.../cpu.max: no such file or directory
Isolierte Ursache, reproduzierbar außerhalb von Gladys:
bash
docker run --rm hello-world # OK
docker run --rm --cpus="1.0" hello-world # scheitert mit demselben Fehler
Kernel-Bestätigung :
bash
cat /boot/config-$(uname -r) | grep CFS_BANDWIDTH
→ CONFIG_CFS_BANDWIDTH is not set
Diese Kernel-Kompilierungsflagge stellt cpu.max (CPU-Quota cgroup v2) bereit. Ohne diese kann keine --cpus-Grenze auf einen Container gesetzt werden — daher scheitern externe Integrationen, sobald diese Grenze bei der Erstellung angewendet wird, systematisch und ohne die Möglichkeit eines Workarounds auf Systemkonfigurationsebene (getestet: cgroup-Treiber systemd und cgroupfs, cgroup-Delegierung auf allen Ebenen als korrekt überprüft).
Potenzielle Reichweite: Dies ist nicht auf meine Hardware beschränkt. Der Raspberry Pi hatte historisch dasselbe Problem (Ticket raspberrypi/linux#3387, immer noch offen).
Vorschlag: Die CPU-Grenze optional machen oder auf --cpu-shares (Gewichtung, erfordert nicht cpu.max) umstellen, anstatt eine strikte Quote zu verwenden — oder das Fehlen von cpu.max erkennen und den Container ohne Grenze erstellen, anstatt zu scheitern.
Ich stehe für Tests auf dieser Hardware zur Verfügung, falls benötigt. Danke.