{"id":21507,"date":"2026-09-18T08:32:17","date_gmt":"2026-09-18T06:32:17","guid":{"rendered":"https:\/\/webhosting.de\/tickless-mode-linux-kernel-rhythmus\/"},"modified":"2026-09-18T08:32:17","modified_gmt":"2026-09-18T06:32:17","slug":"tickless-modus-linux-kernel-ritme","status":"publish","type":"post","link":"https:\/\/webhosting.de\/nl\/tickless-mode-linux-kernel-rhythmus\/","title":{"rendered":"De tickless-modus van de kernel-scheduler uitgelegd: voordelen, risico\u2019s en tuning"},"content":{"rendered":"<p>Ik leg het uit <strong>tickless-modus<\/strong> van de Linux-kernel op een begrijpelijke manier uitleggen en laten zien wanneer deze een positieve invloed heeft op prestaties, latentie en energieverbruik. Daarbij noem ik duidelijke voordelen, mogelijke risico\u2019s en concrete afstemmingsstappen die ik in de praktijk toepas.<\/p>\n\n<h2>Centrale punten<\/h2>\n\n<p>Ik vat de belangrijkste samen <strong>Kernonderwerpen<\/strong> kort samengevat, zodat je meteen weet waar je op moet letten. De Linux-scheduler en de dynamische tick zijn nauw met elkaar verweven en bepalen het gedrag van je <strong>CPU's<\/strong>. Afhankelijk van de workload beslis ik of \u2018Tickless Idle\u2019 voldoende is of dat ik \u2018Full Tickless\u2019 met ge\u00efsoleerde kernen gebruik. Voor reproduceerbare resultaten plan ik housekeeping-CPU\u2019s, IRQ-affiniteit en RCU-callbacks zorgvuldig in. Uiteindelijk telt wat de meetwaarden voor latentie, energieverbruik en doorvoer in je <strong>Setup<\/strong> echt laten zien.<\/p>\n<ul>\n  <li><strong>Tickless-stationair draaien<\/strong>: minder tics bij stationair draaien<\/li>\n  <li><strong>NO_HZ_FULL<\/strong>: rustige, afgelegen buurten<\/li>\n  <li><strong>IRQ-affiniteit<\/strong>: Storingsbronnen bundelen<\/li>\n  <li><strong>CPU pinning<\/strong>: Threads vast toewijzen<\/li>\n  <li><strong>Gemeten waarden<\/strong>: latentie, energie, jitter<\/li>\n<\/ul>\n<p>De lijst toont de bedieningshendels die ik als eerste controleer en combineer. Zo kan ik snel zien waar de grootste <strong>Hendel<\/strong> ligt en in hoeverre ik de kernel aanpas.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/kernel-tickless-6359.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Wat de kernel-tick in de praktijk teweegbrengt<\/h2>\n\n<p>Een periodieke tick activeert in de kernel de tijdmeting, het timerbeheer en nieuwe <strong>Planning<\/strong>-beslissingen. Het is eenvoudig, maar het wekt de kernel ook op als er geen zinvol werk te doen is. Met \u2018tickless\u2019 plant de kernel het volgende ontwaken op basis van de behoefte en voorkomt zo onnodige <strong>Onderbrekingen<\/strong>. Zo blijven CPU's langer in diepe C-states en veroorzaken ze minder jitter bij latentiegevoelige taken. Ik maak gebruik van dit mechanisme om rustige uitvoeringsvensters te cre\u00ebren voor gevoelige threads.<\/p>\n\n<h2>Varianten: Tickless Idle en NO_HZ_FULL in een oogopslag<\/h2>\n\n<p><strong>Tickless-stationair draaien<\/strong> (CONFIG_NO_HZ_IDLE) schakelt de regelmatige tick uit zodra een CPU inactief is. Dit vermindert het stroomverbruik en de warmteontwikkeling, omdat de processor minder vaak uit de diepe slaapstand wordt gehaald. <strong>NO_HZ_FULL<\/strong> gaat verder en vermindert zelfs het aantal ticks op actieve kernen wanneer daar slechts \u00e9\u00e9n taak draait. Hiervoor isoleer ik deze kernen strikt en verplaats ik systeemwerk naar speciale housekeeping-CPU's. Wie zorgt voor een goede isolatie, krijgt zeer stille kernen en daarmee een betere voorspelbaarheid onder belasting.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/tickless_mode_vorteile_1234.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Vergelijkingstabel en toepassingsscenario\u2019s<\/h2>\n\n<p>Het volgende overzicht helpt me om de juiste <strong>Modus<\/strong> afhankelijk van het doel te kiezen en de benodigde omgeving correct voor te bereiden. Ik kijk eerst naar de kenmerken van de workload, vervolgens naar de energiedoelstellingen en ten slotte naar de jitter-tolerantie. Uit ervaring blijkt dat duidelijke CPU-isolatie vooral bij trading, HPC en toepassingen met zeer lage latentie <strong>Netwerk<\/strong>-Stacks uit. In het datacenter, waar de belasting varieert, levert Tickless Idle daarentegen vaak de snelste besparing op. Full Tickless bewaar ik voor streng gecontroleerde hosts, waarop ik systeembewerkingen betrouwbaar afscherm.<\/p>\n<table>\n  <thead>\n    <tr>\n      <th>Modus<\/th>\n      <th>Wanneer actief<\/th>\n      <th>Voordeel<\/th>\n      <th>Risico<\/th>\n      <th>Geschikt voor<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Periodieke tik<\/td>\n      <td>Altijd een vaste frequentie<\/td>\n      <td>Eenvoudig <strong>Administratie<\/strong><\/td>\n      <td>Meer jitter en wake-ups<\/td>\n      <td>Algemene servers<\/td>\n    <\/tr>\n    <tr>\n      <td>Tickless Idle (NO_HZ_IDLE)<\/td>\n      <td>Alleen bij stationair draaien<\/td>\n      <td>Minder energie, koeler <strong>CPU's<\/strong><\/td>\n      <td>Beperkte verbetering van de latentie<\/td>\n      <td>VM-hosts, web, gemengd<\/td>\n    <\/tr>\n    <tr>\n      <td>Volledig tickloos (NO_HZ_FULL)<\/td>\n      <td>Ook bij single-task-belasting<\/td>\n      <td>Zeer rustige kernen, weinig <strong>Jitter<\/strong><\/td>\n      <td>Uitgebreide isolatie nodig<\/td>\n      <td>HPC, handel, bijna realtime<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<h2>Wanneer de tickless-modus uitblinkt<\/h2>\n\n<p>Ik schakel Full Tickless in op ge\u00efsoleerde cores wanneer een toepassing extreem <strong>Lage latentie<\/strong> moet reageren. Hiertoe behoren order-matching, pakketverwerking met single-queue of strikte NUMA-lokalisatie in wetenschappelijke codes. Bij energiedoelstellingen op gemengde hosts volstaat vaak tickless idle voor meetbare <strong>Besparingen<\/strong>. Wie veel slaapfasen ziet, heeft daar veel baat bij, omdat C-states minder vaak door ticks worden verlaten. Lees gerust mijn handleiding over <a href=\"https:\/\/webhosting.de\/nl\/tickless-kernel-server-energie-efficientie-geoptimaliseerd-groen\/\">Energie-effici\u00ebntie met Tickless<\/a>, vooral als je de elektriciteitskosten wilt verlagen.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/tickless-mode-scheduler-explained-4785.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Voordelen en bijwerkingen in het dagelijks leven<\/h2>\n\n<p>Minder periodieke ticks betekenen minder <strong>Contextverandering<\/strong> en vaak gelijkmatigere looptijden. In isolatieopstellingen neemt het OS-ruis af, waardoor gevoelige code consistenter reageert. Volgens de Linux Foundation en de kernel-documentatie levert NO_HZ_IDLE aanzienlijke voordelen op bij inactiviteit, terwijl NO_HZ_FULL de storingsimpulsen verder vermindert. HPC-documentatie bevestigt het effect in combinatie met pinning en IRQ-bundeling op housekeeping-kernen. Wie metingen zorgvuldig opzet, ziet deze effecten duidelijk terug in de latentie- en energieprofielen van de <strong>Hosts<\/strong>.<\/p>\n\n<h2>Risico\u2019s door verkeerde tuning<\/h2>\n\n<p>Ik zie problemen ontstaan als IRQ's of RCU-callbacks toch op ge\u00efsoleerde kernels terechtkomen en de <strong>Rust<\/strong> vernietigen. Dan keert het voordeel zich om, omdat storingsbelasting ongeco\u00f6rdineerd optreedt en jitter veroorzaakt. Ongeplande achtergronddiensten, timers of watchdogs op ge\u00efsoleerde CPU\u2019s hebben een vergelijkbaar storend effect. Ook gemengde workloads met veel korte taken verspreiden de onrust zo wijd dat \u2018Full Tickless\u2019 weinig oplevert. Daarom plan ik housekeeping-kernen duidelijk in en test ik elke stap met realistische <strong>Profielen<\/strong>.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/ticless_mode_tech_buer_1593.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Belangrijke kernelopties op een begrijpelijke manier uitgelegd<\/h2>\n\n<p>Met <strong>CONFIG_NO_HZ_IDLE<\/strong> schakel ik de tick in de vrijloop uit en boek ik snel winst zonder ingrijpende aanpassingen. <strong>CONFIG_NO_HZ_FULL<\/strong> Ik activeer dit alleen als ik cores strikt isoleer en \u2018schone\u2019 housekeeping-CPU\u2019s definieer. De opstartparameter `nohz_full` bepaalt welke cores tickless draaien; `isolcpus` koppelt ze los van de algemene scheduling. rcu_nocbs verplaatst RCU-callbacks weg van deze kernen, terwijl irqaffinity de interrupt-verantwoordelijkheid instelt. Pas in combinatie werkt de opstelling consistent en dus echt <strong>nuttig<\/strong>.<\/p>\n\n<h2>Housekeeping-kernactiviteiten plannen<\/h2>\n\n<p>Ik reserveer \u00e9\u00e9n of twee <strong>kernen<\/strong> per NUMA-node als \u2018housekeeping\u2019-zone voor IRQ\u2019s, kernel-threads en RCU. Deze cores nemen de onvermijdelijke systeemtaken voor hun rekening en houden de ge\u00efsoleerde kernen vrij. Daartoe koppel ik services en IRQ-wachtrijen bewust aan de \u2018housekeeping\u2019-CPU\u2019s en blokkeer ik ze op de stille cores. Wie de <a href=\"https:\/\/webhosting.de\/nl\/server-cpu-scheduler-klasse-plannen\/\">CPU-schedulerklassen<\/a> begrijpt, stuurt prioriteiten en eerlijkheid op betrouwbare wijze aan. Zo blijven de latentiepaden kort en leveren de rustige kernen voorspelbare <strong>Reactietijden<\/strong>.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/entwicklerdesk_kernel_7123.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Praktische gids: Stap voor stap<\/h2>\n\n<p>Ik begin elk project met een duidelijk <strong>Basislijn<\/strong>-Run: latentie, energieverbruik, doorvoersnelheid, jitter. Daarna controleer ik of NO_HZ_IDLE actief is en of de kernel NO_HZ_FULL ondersteunt. Vervolgens wijs ik IRQ-affiniteit toe, stel ik rcu_nocbs in en plan ik housekeeping-CPU\u2019s in. Pas daarna isoleer ik bij wijze van test enkele kernen met nohz_full en vergelijk ik de resultaten. Voor de gedetailleerde analyse helpt deze handleiding mij bij <a href=\"https:\/\/webhosting.de\/nl\/de-latentie-van-de-linux-scheduler-meten-en-de-prestaties-optimaliseren\/\">Latentie meten<\/a>, zodat ik elke wijziging zorgvuldig kan beoordelen.<\/p>\n\n<h2>Meetmethoden en KPI's<\/h2>\n\n<p>Ik meet end-to-end-<strong>Latency<\/strong> met histogrammen en kwantileer uitschieters, in plaats van alleen naar gemiddelde waarden te kijken. PPS en tail-latency beoordeel ik samen, zodat rustige kernen de doorvoer niet drukken. Energie meet ik via RAPL, IPMI of een aangesloten meter en bereken de besparing in <strong>Euro<\/strong> per maand. Voorbeeld: als een host 12 W bespaart bij 24\/7-bedrijf, komt dat bij 0,30 \u20ac\/kWh neer op ongeveer 3,15 \u20ac per maand per machine. Bij 200 hosts loopt dat op tot een aanzienlijk bedrag van 630 \u20ac per maand.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/kernel-scheduler-tickless-8475.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Een diepere blik: hoe de kernel ticks werkelijk uitschakelt<\/h2>\n<p>Achter Tickless schuilt de overstap van de periodieke tick naar een <strong>Oneshot-klokevenement<\/strong>: De kernel programmeert de volgende \u201egebeurtenis\u201c precies op het vroegste tijdstip waarop een timer afloopt of een schedulerbeslissing wordt genomen. High-Resolution-Timers (hrtimer) maken een fijne granulariteit mogelijk. Op een <strong>NO_HZ_FULL<\/strong>-CPU: de periodieke scheduler-tick wordt overgeslagen zolang er slechts \u00e9\u00e9n taak draait en er geen kernelwerk is. Zodra twee of meer taken uitvoerbaar zijn, start de kernel de tick weer op, zodat de eerlijkheid en de tijdsverdeling kloppen. Juist deze dynamiek maakt het systeem stiller, zonder dat dit ten koste gaat van de juistheid van de planning.<\/p>\n\n<h2>HZ, High-Res-timer en tijdrekening<\/h2>\n<p>De kernelconstante <strong>HZ<\/strong> (meestal 250 of 1000) bepaalt de frequentie van de klassieke tick. Met \u2018tickless\u2019 verliest Hz zijn praktische betekenis voor kernen waarbij de looptijd cruciaal is, maar blijft het relevant voor op jiffies gebaseerde logica. Belangrijk is ook de <strong>Tijdtoewijzing<\/strong> (VTIME\/Context Tracking): Om ervoor te zorgen dat de gebruikstijd en de systeemtijd correct worden bijgehouden, houdt de kernel nauwkeurig bij wanneer een taak zich in de kernel of in de gebruikersruimte bevindt \u2013 zonder permanente tick. Wie veel met profilering werkt, moet dit in gedachten houden om metingen correct te kunnen interpreteren.<\/p>\n\n<h2>Energiebesparingsmechanismen en tickless<\/h2>\n<p>Tickless levert alleen een energiebesparend effect op als het platform diep <strong>C-staten<\/strong> betrouwbaar bereikt. Daarom controleer ik de firmware- en kernelinstellingen met betrekking tot intel_pstate\/amd-pstate, turbomodi en <strong>cpufreq<\/strong>-Governor. Een agressieve performance-governor kan de latentie verlagen, maar energie-doelstellingen in de weg staan. Omgekeerd kan een te trage powersave-governor ten koste gaan van de doorvoersnelheid. Mijn aanpak: eerst de tickless-configuratie stabiliseren, daarna systematisch P- en C-state-tuning testen, telkens met identieke workloadprofielen.<\/p>\n\n<h2>Virtualisatie en containers<\/h2>\n<p>Op hypervisor-hosts zorgt <strong>Tickless-stationair draaien<\/strong> vaak direct merkbare besparingen, omdat inactieve vCPU's minder vaak worden geactiveerd. Voor <strong>NO_HZ_FULL<\/strong> Ik isoleer fysieke kernen en wijs vCPU\u2019s van de kritieke VM\u2019s precies daar toe. Belangrijk: Steal-Time en host-IRQ\u2019s mogen deze kernen niet verstoren. In gasten heeft Full Tickless alleen zin als de host de CPU-tijd deterministisch toewijst. In containeromgevingen repliceer ik de isolatielogica met <strong>cgroups CPU-sets<\/strong> en voorkom dat Systempods of Sidecars de stille kernen bezetten.<\/p>\n\n<h2>Netwerk- en opslagpaden optimaliseren<\/h2>\n<p>Voor ultralage latenties bundel ik <strong>RX\/TX-wachtrijen<\/strong> en hun IRQ\u2019s op housekeeping-CPU\u2019s. Op de rustige cores werk ik bij voorkeur met userspace-polling of speciale completion-threads, in plaats van IRQ\u2019s toe te staan. Bij NVMe kan <strong>IO-wachtrij-affiniteit<\/strong> op dezelfde manier helpen. NAPI-Busy-Polling kan doelgericht worden ingezet wanneer polling-jitter beter voorspelbaar is dan interrupt-jitter. Het doel is dat de ge\u00efsoleerde kernen nooit onverwacht door externe gebeurtenissen worden geactiveerd.<\/p>\n\n<h2>Voorbeeld: opstartparameters en pinning<\/h2>\n<p>Zo schets ik een minimale configuratie (bijvoorbeeld 16 cores, CPU 0-1 voor huishoudelijke taken; 2-7 en 10-15 als kandidaten voor de werklast; 8-9 voor systeemservices):<\/p>\n<pre><code>GRUB_CMDLINE_LINUX=\"nohz_full=2-7,10-15 rcu_nocbs=2-7,10-15 isolcpus=2-7,10-15 irqaffinity=0-1\"<\/code><\/pre>\n<p>Na de boot pas ik Affinity en CPUsets consequent toe:<\/p>\n<pre><code># IRQ's bundelen\nfor i in $(grep -E 'eth0|nvme' \/proc\/interrupts | awk -F: '{print $1}'); do\n  echo 3 &gt; \/proc\/irq\/$i\/smp_affinity_list   # CPU 0-1\ndone\n\n# Een latentiegevoelige dienst vastpinnen\ntaskset -c 2-3 \/usr\/bin\/mijn_service\n\n# cgroup-cpuset voor systeemservices (voorbeeld)\nmkdir -p \/sys\/fs\/cgroup\/cpuset\/housekeeping\necho 0-1,8-9 &gt; \/sys\/fs\/cgroup\/cpuset\/housekeeping\/cpuset.cpus\necho 0 &gt; \/sys\/fs\/cgroup\/cpuset\/housekeeping\/cpuset.mems\necho $$ &gt; \/sys\/fs\/cgroup\/cpuset\/housekeeping\/cgroup.procs<\/code><\/pre>\n<p>In systemd-units gebruik ik daarnaast <strong>CPUAffiniteit=<\/strong> of <strong>AllowedCPUs=<\/strong>, zodat diensten altijd de juiste kernels gebruiken.<\/p>\n\n<h2>Diagnose: controleren of de kernen echt stil zijn<\/h2>\n<p>Ik controleer de ruststatus van mijn cores in een paar eenvoudige stappen:\n\u2013 \/proc\/interrupts: Stijgt de teller op ge\u00efsoleerde CPU\u2019s? Zo ja, corrigeer dan de IRQ-affiniteit.\n\u2013 \/proc\/timer_list: identificeer onverwachte timers op NO_HZ_FULL-kernen.\n\u2013 ftrace\/perf: maak wake-ups, softirqs en sched-events zichtbaar.\n\u2013 turbostat: controleer de verblijftijden in C-state.\nAls er op rustige cores nog steeds softirqs (NET_RX, TIMER) binnenkomen, is er vrijwel altijd sprake van een distributie- of stuurprogramma-probleem.<\/p>\n\n<h2>Interactie met PREEMPT_RT en RT-Threads<\/h2>\n<p><strong>PREEMPT_RT<\/strong> vermindert latentie door preemptie diep in de kernel te integreren. In combinatie met NO_HZ_FULL kan dit zeer goede resultaten opleveren wanneer IRQ\u2019s als threads draaien en strikt op housekeeping-CPU\u2019s blijven. Belangrijk: verspreid RT-threads niet te wijd, maar pin ze strak vast en houd hun geheugenpaden (NUMA, page-faults) onder controle. Ik houd RT-threads op ge\u00efsoleerde kernen altijd \u201ealleen\u201c, zodat er geen tick terugkeert omdat er een tweede uitvoerbare taak ontstaat.<\/p>\n\n<h2>Wanneer \u2018Full Tickless\u2019 niet de moeite waard is<\/h2>\n<p>Ik zie af van NO_HZ_FULL als:\n\u2013 Er voortdurend veel kortstondige taken ontstaan (bijv. Fork\/Exec-bursts).\n\u2013 De workload sterk gesynchroniseerd is en voortdurend kernwisselingen afdwingt.\n\u2013 Het platform geen zuivere C-states bereikt of TSC onstabiel is.\nIn dergelijke gevallen levert zuiver <strong>IRQ- en CPU-pinning<\/strong> vaak meer dan de kosten van een volledige isolatie.<\/p>\n\n<h2>Fijne details in de productie: monitoring en exploitatie<\/h2>\n<p>In productieomgevingen waarschuw ik voor \u201esluipende\u201c veranderingen: een kernel-update, een nieuwe agent of een gewijzigde IRQ-toewijzing kan de rust van de kernen verstoren. Daarom implementeer ik:\n\u2013 Een \u201eGuardrail\u201c-script dat na een reboot de affiniteit, CPU-sets en RCU-instellingen controleert.\n\u2013 Metrics voor wake-ups per seconde, C-state-verblijftijden en p99,9-latentie.\n\u2013 Periodieke <strong>Regressietests<\/strong> met identieke workloads.\nAlleen zo blijft het voordeel van de tickless-modus betrouwbaar behouden.<\/p>\n\n<h2>Jitterbronnen doelgericht neutraliseren<\/h2>\n<p>Naast IRQ's zorgen vaak <strong>Timer in de gebruikersruimte<\/strong> (sleep\/usleep\/timerfd) voor onregelmatige patronen. Ik werk met <em>timer slack<\/em> (prctl of \/proc) en groepeer vervaldata, zodat de kernel minder afzonderlijke wake-ups inplant. Ook plan ik achtergrond-GC\u2019s in managed runtimes (JVM, Go) in of isoleer ik ze op housekeeping-kernen. Het doel is altijd om op NO_HZ_FULL-kernen alleen de absoluut noodzakelijke wake-ups toe te staan.<\/p>\n\n<h2>Interpretatie van de KPI's: afwegingen zichtbaar maken<\/h2>\n<p>Ik beoordeel niet alleen gemiddelden, maar ook de <strong>Distributie<\/strong>: p50, p95, p99,9 en maximaal. Een typisch succespatroon: de tail-latentie daalt aanzienlijk, de gemiddelde doorvoer blijft gelijk of stijgt licht, en de C-state-verblijfsduur neemt af. Zie ik daarentegen wel verbeterde jitter, maar merkbaar minder doorvoer, dan pas ik het CPU-frequentiebeleid aan of verhoog ik voorzichtig het aantal inactieve kernen, zodat wachtrijen niet verstopt raken.<\/p>\n\n<h2>Checklist voordat NO_HZ_FULL wordt geactiveerd<\/h2>\n<p>\n\u2013 Kernelfuncties: CONFIG_NO_HZ_FULL, High-Res-Timer ingeschakeld<br\/>\n\u2013 Duidelijke CPU-rollen: housekeeping-CPU's per NUMA-node gedefinieerd<br\/>\n\u2013 IRQ- en RCU-offload: irqaffinity en rcu_nocbs consistent ingesteld<br\/>\n\u2013 Plaatsing van diensten: pinning van systemd\/cgroups gedocumenteerd en getest<br\/>\n\u2013 Meetopstelling: reproduceerbare workloads, zinvolle KPI\u2019s, vergelijking <em>voor\/na<\/em><br\/>\n\u2013 Rollback-plan: opstartvermelding beschikbaar zonder NO_HZ_FULL\n<\/p>\n\n<h2>Veelvoorkomende struikelblokken en oplossingen<\/h2>\n\n<p>Ik zie vaak dat systeemservices op afzonderlijke cores draaien en dat de <strong>Isolatie<\/strong> ontkrachten. Dit kan worden voorkomen met systemd-affinity, cgroups-CPUsets en duidelijke documentatie over services. Ook verkeerde NUMA-toewijzingen leiden tot onnodige toegang op afstand en pieken in de latentie. Ik koppel geheugen en threads strikt aan de betreffende node, zodat paden kort en consistent blijven <strong>blijf<\/strong>. Een onduidelijke IRQ-verdeling is de derde veelvoorkomende oorzaak, daarom bundel ik drukke wachtrijen op housekeeping-CPU's.<\/p>\n\n<h2>Korte balans voor de praktijk<\/h2>\n\n<p>De <strong>tickless<\/strong> De kernel vermindert storende ticks, bespaart energie en cre\u00ebert betrouwbare tijdvensters voor gevoelige workloads. Met \u2018Tickless Idle\u2019 realiseer ik snel effici\u00ebntiewinst, terwijl \u2018Full Tickless\u2019 extra rust brengt op ge\u00efsoleerde cores. Het grootste effect zie ik wanneer ik IRQ\u2019s, RCU en achtergrondtaken netjes bundel op housekeeping-CPU\u2019s. Zonder metingen lukt het niet: latentie, jitter, energieverbruik en doorvoer laten me zien of de afstemming vruchten afwerpt. Zo pas ik de tickless-modus doelgericht toe en haal ik het maximale uit de <strong>planner<\/strong> uit.<\/p>","protected":false},"excerpt":{"rendered":"<p>Tickless-kernel eenvoudig uitgelegd: voordelen, risico\u2019s en kernel-tuning voor servers, HPC en systemen met lage latentie.<\/p>","protected":false},"author":1,"featured_media":21500,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[676],"tags":[],"class_list":["post-21507","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server_vm"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"62","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"tickless mode","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"21500","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/posts\/21507","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/comments?post=21507"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/posts\/21507\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/media\/21500"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/media?parent=21507"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/categories?post=21507"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/tags?post=21507"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}