Brain-Score 94/100 TECH Hussein Nasser · 33:13

Postgres is half as fast in Linux 7.0, and we always knew why

3-Second Blueprint (English)

  1. Linux 7.0 altered default kernel-mode preemption behavior, causing busy database system calls to be context-switched far more frequently.
  2. Because PostgreSQL spawns separate OS processes rather than threads, thousands of backends maintain isolated page tables for shared buffers.
  3. Frequent preemption across massive 400 GB shared buffers with tiny 4 KB pages triggers severe page faults and TLB cache thrashing.
Kernel PreemptionTLB MissesProcesses vs ThreadsLinux HugePages

3-Sekunden-Fazit (Deutsch)

  1. Linux 7.0 änderte die Vorgabe für Kernel-Präemption, wodurch aktive Systemaufrufe der Datenbank deutlich häufiger unterbrochen werden.
  2. Da PostgreSQL separate Betriebssystemprozesse statt Threads nutzt, verwaltet jeder Worker eine eigene Seitentabelle für gemeinsame Puffer.
  3. Häufige Kontextwechsel auf großen Shared-Buffern mit kleinen 4-KB-Speicherseiten erzeugen massive Seitenfehler und leeren ständig den TLB.
Kernel-PräemptionTLB-FehlzugriffeProzesse vs. ThreadsLinux HugePages

Note / Hinweis: Blueprints are AI-generated educational summaries (0% Politics · 0% Religion · 0% Brainrot) and do not constitute medical, legal, or financial advice. / KI-generierte Zusammenfassung zu Bildungszwecken – ersetzt keine medizinische, rechtliche oder finanzielle Fachberatung.