Webserver-Listenüberläufe führen zu einem Linux-Kernel-Leistungsproblem
Das Upgrade von Webservern von CentOS auf Ubuntu führte zu Listenüberlauffehlern. Die Untersuchung ergab einen starken Anstieg der System-CPU-Auslastung auf neu gestarteten Ubuntu-Hosts innerhalb weniger Minuten nach dem Start, was zu einer langsamen Verarbeitung von Webanfragen und nachfolgenden Listenüberläufen führte. Der Übeltäter war das Umschalten von Inode-Cgroups im Linux-Kernel; nach dem Schreiben vieler Dateien verbrachte der Kernel viel Zeit mit dem Verschieben von Inodes zwischen Cgroups. Das Deaktivieren der io- oder memory-Controller in systemd löste das Problem. CentOS war nicht betroffen, da es Cgroups v1 verwendet, im Gegensatz zu Cgroups v2 von Ubuntu. Ein minimales Reproduktionsskript wurde erstellt, um das Problem zu demonstrieren.