{"id":21103,"date":"2026-08-28T11:49:48","date_gmt":"2026-08-28T09:49:48","guid":{"rendered":"https:\/\/webhosting.de\/numa-balancing-deaktivieren-oder-aktiv-lassen-linux-performance-optimal\/"},"modified":"2026-08-28T11:49:48","modified_gmt":"2026-08-28T09:49:48","slug":"numa-balancing-uitschakelen-of-ingeschakeld-laten-voor-optimale-linux-prestaties","status":"publish","type":"post","link":"https:\/\/webhosting.de\/nl\/numa-balancing-deaktivieren-oder-aktiv-lassen-linux-performance-optimal\/","title":{"rendered":"NUMA-balancing in Linux: uitschakelen of ingeschakeld laten?"},"content":{"rendered":"<p>NUMA-balancing in Linux bepaalt of de <strong>Kernel<\/strong> Of geheugentoegangen automatisch worden gelokaliseerd of dat ik de plaatsing zelf gericht kan bepalen. In deze handleiding laat ik zien wanneer ik numa balancing ingeschakeld laat en wanneer ik het voor <strong>Latency<\/strong>-Veiligheid uitschakelen.<\/p>\n\n<h2>Centrale punten<\/h2>\n\n<ul>\n  <li><strong>Automatisch<\/strong> helpt bij gemengde workloads zonder NUMA-tuning.<\/li>\n  <li><strong>Deactiveren<\/strong> bij pinning, statische beleidsregels of hoge latentie.<\/li>\n  <li><strong>Overhead<\/strong> ontstaat door scans, fouten en migraties.<\/li>\n  <li><strong>Configuratie<\/strong> instellen via sysctl of opstartparameters.<\/li>\n  <li><strong>Testen<\/strong> en meten in plaats van gissen, en dan beslissen.<\/li>\n<\/ul>\n\n<h2>NUMA in het kort: latenties en lokaliteit<\/h2>\n\n<p>In NUMA-systemen verdeelt de hardware het geheugen over meerdere knooppunten, waarbij de afzonderlijke <strong>CPU's<\/strong> ruimtelijk dichtbij zijn. Lokale toegangen kosten minder tijd dan verre, wat ik meteen merk aan <strong>Latency<\/strong> en bandbreedte merk ik. Als een proces op \u00e9\u00e9n node draait, maar de gegevens op een andere staan, verlies ik kostbare microseconden per toegang. Precies op dit punt grijpt de kernel in en optimaliseert de <strong>Locatie<\/strong> van pagina\u2019s. Wie het basisidee begrijpt, ziet al snel: de nabijheid tussen rekenkernen en gegevens is de directe weg naar een constante <strong>Prestaties<\/strong>.<\/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\/08\/linux-numa-balancing-2345.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Hoe automatische NUMA-balancing werkt<\/h2>\n\n<p>De kernel houdt bij vanuit welke kernen een proces pagina\u2019s benadert, en voert gericht <strong>Hint<\/strong>-Faults. Zo kan het systeem vaststellen welk knooppunt het meeste verkeer ontvangt en vervolgens de betreffende pagina\u2019s daarheen verplaatsen. Deze migraties verminderen het verkeer over lange afstanden en vergroten de lokale <strong>Raakpercentage<\/strong>. Ik merk het effect vooral bij dynamische workloads, waarbij threads en geheugen zich verplaatsen. Wie zich hier verder in wil verdiepen, kan de verbanden tussen de nabijheid van de CPU en het geheugen bekijken via <a href=\"https:\/\/webhosting.de\/nl\/server-numa-locality-cpu-geheugen-affiniteit-optimalisatie-core\/\">CPU-\/geheugenaffiniteit<\/a> in de praktijk begrijpen.<\/p>\n\n<h2>Wanneer actief laten: typische workloads<\/h2>\n\n<p>Ik laat de functie ingeschakeld wanneer applicaties geen eigen NUMA-logica hebben en processen vaak <strong>veranderen<\/strong>. Typische voorbeelden zijn applicatieservers, databases met een variabele belasting en hosts met veel <strong>Containeren<\/strong>. In dergelijke opstellingen zorgt het automatische systeem ervoor dat pagina\u2019s en threads dichter bij elkaar komen te staan, zonder dat ik ze handmatig moet vastzetten. Vooral op hosts met meerdere sockets neemt het aandeel van lokale bezoeken merkbaar toe. Voor beheerders met heterogene diensten levert dit een goed <strong>Compromis<\/strong> van snelheid en inspanning.<\/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\/08\/numa_balancing_linux_5843.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Wanneer u de functie moet uitschakelen: duidelijke criteria<\/h2>\n\n<p>Ik schakel de automatische modus uit zodra ik bewust een pin-code invoer of een keuze maak <strong>Beleid<\/strong> stel. Als ik numactl, cgroups of MPOL_BIND\/MPOL_PREFERRED gebruik, is er al een definitieve keuze gemaakt voor de geheugenpaden. Dan veroorzaken hint-faults en migraties onnodige <strong>Overhead<\/strong>. Hetzelfde geldt voor realtime- of HFT-scenario\u2019s, waarin elke microseconde telt en voorspelbaarheid voorop staat. Wie zich verder verdiept in de keuze van de plaatsingsregels, heeft baat bij een blik op geschikte <a href=\"https:\/\/webhosting.de\/nl\/numa-geheugenbeleid-databankserver-optimalisatie-server\/\">Geheugenbeleidsregels<\/a>.<\/p>\n\n<h2>Overhead begrijpen en meten<\/h2>\n\n<p>Automatisch balanceren brengt werk met zich mee: scans, <strong>Fouten<\/strong> en paginamigraties nemen CPU-tijd in beslag. Dat valt nauwelijks op als het aantal externe verzoeken sterk daalt, maar is nauwelijks de moeite waard als de lay-out al lokaal is. Daarom controleer ik altijd het daadwerkelijke effect met numastat, perf en veelzeggende <strong>Benchmarks<\/strong>. Het is interessant om te kijken naar de ontwikkeling over een periode van minuten, niet alleen naar een korte piek. Pas als de meetwaarden consequent aantonen dat het lokale verkeer toeneemt en de latentie afneemt, blijf ik deze modus gebruiken.<\/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\/08\/numa-balancing-decision-linux-4539.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Configuratie: sysctl en opstartparameters<\/h2>\n\n<p>Ik controleer de status via \/proc of sysctl en pas deze indien nodig onmiddellijk aan, zonder een <strong>Herstart<\/strong>. Voor tests volstaan eenvoudige commando\u2019s zoals hieronder, die ik in de console uitvoer. Op de lange termijn stel ik de waarde in een sysctl-bestand in, zodat deze na een herstart behouden blijft. Wie dit al tijdens het opstarten wil instellen, gebruikt de kernelparameter numa_balancing=enable of <strong>uitschakelen<\/strong>. Ik documenteer elke wijziging en noteer in welke fase van de werkbelasting ik deze heb aangebracht.<\/p>\n\n<pre><code>cat \/proc\/sys\/kernel\/numa_balancing\necho 0 &gt; \/proc\/sys\/kernel\/numa_balancing\nsysctl -w kernel.numa_balancing=1\n# \/etc\/sysctl.d\/90-numa.conf\n# kernel.numa_balancing = 0\n<\/code><\/pre>\n\n<h2>Container- en virtualisatiescenario's<\/h2>\n\n<p>Op hosts met veel VM\u2019s en containers speelt de automatische <strong>Lokalisatie<\/strong> spelen vaak hun sterke punten uit. Processen starten en stoppen, Cgroups verplaatsen de belasting, en de kernel houdt het geheugen dichter bij de actieve kernen. Ik merk dit vooral op grote multi-socket-servers met meerdere <strong>Knooppunten<\/strong>. Bij speciale gevallen waarbij afzonderlijke instanties strikt worden vastgezet, maak ik een duidelijk onderscheid en schakel ik daar gericht de automatische functie uit. Voor een verdere indeling is het nuttig om eens te kijken naar praktische <a href=\"https:\/\/webhosting.de\/nl\/numa-balancing-server-geheugen-optimalisatie-hardware-numaflux\/\">NUMA-optimalisatie<\/a> in hostmodus.<\/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\/08\/numa_balancing_linux_5823.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Beslissingstabel voor de praktijk<\/h2>\n\n<p>Het volgende overzicht geeft een beknopt overzicht van typische scenario\u2019s, het verwachte effect en mijn duidelijke <strong>Aanbeveling<\/strong>. Ik gebruik ze als uitgangspunt, maar vervang ze nooit door meetwaarden van het echte systeem. Elke omgeving heeft zijn eigen kenmerken, en ik neem pas beslissingen nadat ik reproduceerbare <strong>Resultaten<\/strong> vast. Wie systematisch te werk gaat, bespaart later tijd bij het opsporen van fouten en het afstemmen. Kleine testruns v\u00f3\u00f3r een rollout loont bijna altijd in <strong>Constance<\/strong> en voorspelbaarheid.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th>Scenario<\/th>\n      <th>Typisch effect<\/th>\n      <th>Mijn aanbeveling<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Standaard-workloads zonder NUMA-tuning<\/td>\n      <td>Meer lokale bezoeken, minder bezoeken van ver weg <strong>Leest<\/strong><\/td>\n      <td>Actief laten<\/td>\n    <\/tr>\n    <tr>\n      <td>Databases met wisselende belasting<\/td>\n      <td>Dynamische paginalokalisatie, matig <strong>Scans<\/strong><\/td>\n      <td>Actief laten, testen<\/td>\n    <\/tr>\n    <tr>\n      <td>Harde realtime of HFT<\/td>\n      <td>De latentie van de hint-fault is storend <strong>Jitter<\/strong>-Doelstellingen<\/td>\n      <td>Uitschakelen, handmatig vastzetten<\/td>\n    <\/tr>\n    <tr>\n      <td>Handmatig vastzetten via numactl\/cgroups<\/td>\n      <td>Automaat botst tegen vaste <strong>Beleid<\/strong><\/td>\n      <td>Deactiveren<\/td>\n    <\/tr>\n    <tr>\n      <td>Statische geheugenbeleidsregels (MPOL_BIND, enz.)<\/td>\n      <td>Migraties leveren geen echte <strong>Voordeel<\/strong><\/td>\n      <td>Deactiveren<\/td>\n    <\/tr>\n    <tr>\n      <td>Test- en analyseomgeving<\/td>\n      <td>Goed zicht op de locatie en <strong>Effecten<\/strong><\/td>\n      <td>Actief laten, varianten bekijken<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<h2>Richtlijnen voor testen en validatie<\/h2>\n\n<p>Ik begin met de balancer ingeschakeld en registreer de gegevens van lokaal versus op afstand <strong>Toegang tot<\/strong> via numastat. Daarna schakel ik de functie uit en herhaal ik de metingen op precies dezelfde manier. Ik beoordeel verschillen niet alleen aan de hand van gemiddelde waarden, maar ook aan de hand van <strong>Percentielen<\/strong>. Regressietests met belastingsprofielen uit de productie leveren de meest betrouwbare resultaten op. Pas dan neem ik een definitieve beslissing over een host, VM of een specifieke <strong>Service<\/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\/08\/devdesk_linux_numa_bal_7283.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Veelvoorkomende valkuilen en mythes<\/h2>\n\n<p>Een veelvoorkomende misvatting is dat de automatische modus alles vervangt <strong>Spelden<\/strong>. Dat klopt niet, want vaste latentiebudgetten kunnen nauwelijks extra fouten verdragen. Even onjuist is de veronderstelling dat migraties altijd <strong>kosteloos<\/strong> gebeuren. Juist bij lay-outs die toch al lokaal zijn, heeft de overhead vaker een negatief dan een positief effect. Wie mythes vermijdt en nauwkeurig meet, neemt beslissingen met een aanzienlijk hogere <strong>Nauwkeurigheid<\/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\/08\/linux-numa-balancing-8192.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>De grenzen van de automatische functies en interacties<\/h2>\n\n<p>AutoNUMA heeft een sterk effect op anonieme pagina\u2019s die een proces zelf toewijst. Niet alles kan echter op zinvolle wijze worden gemigreerd. Pinned Pages (mlock), DMA-\/apparaatgeheugen, DAX of RDMA-geregistreerde gebieden blijven waar ze zijn. Ook gedeelde pagina\u2019s (bijv. intensief gedeelde bibliotheken of de paginacache) leveren slechts beperkt voordeel op door migratie, omdat meerdere processen concurrerend <strong>Toegangspatroon<\/strong> produceren. Ik houd bovendien rekening met de kosten van <strong>Transparante enorme pagina's<\/strong> (THP): de migratie hiervan is duurder dan bij 4-KiB-pagina\u2019s en kan piekbelastingen veroorzaken. Wie strenge latentiedoelstellingen nastreeft, combineert vaak THP=never of madvise met uitgeschakelde balancering en \u2018clean pinning\u2019 om verrassingen te voorkomen.<\/p>\n\n<p>Een ander aspect is de interactie met de CPU-scheduler. De scheduler probeert threads te plaatsen waar hun gegevens zich bevinden \u2013 en de balancer verplaatst gegevens naar de plek waar threads worden uitgevoerd. Beide vullen elkaar aan, maar kunnen bij een wisselende belasting tijdelijk leiden tot <strong>Oscillaties<\/strong> leiden. In de praktijk worden deze effecten door de scanintervallen getemperd; wie extreem onregelmatige belastingsprofielen waarneemt, kan de situatie verhelpen door langere scanperioden te hanteren of door stabielere thread-pinning toe te passen.<\/p>\n\n<h2>De scanparameters nauwkeurig afstellen<\/h2>\n\n<p>Naast de algemene schakelaar zijn er kernelparameters waarmee ik de agressiviteit van het automatische systeem nauwkeurig kan afstellen. De exacte namen kunnen enigszins vari\u00ebren, afhankelijk van de kernelversie, maar het doel blijft hetzelfde:<\/p>\n\n<ul>\n  <li>kernel.numa_balancing_scan_delay_ms: wachttijd na het starten, een `fork` of een `exec`, totdat de eerste scan begint.<\/li>\n  <li>kernel.numa_balancing_scan_period_min_ms \/ _max_ms: onder- en bovengrens van de scanfrequentie per procesadresbereik.<\/li>\n  <li>kernel.numa_balancing_rate_limit_mb: maximum per tijdsvenster voor paginamigraties, om de geheugenbandbreedte te ontzien.<\/li>\n  <li>kernel.numa_balancing_scan_size_mb: hoeveelheid geheugen die per scanronde wordt gemarkeerd (indien beschikbaar).<\/li>\n<\/ul>\n\n<p>In setups waarbij de latentie cruciaal is, verhoog ik voorzichtig de minimale en maximale periodes en verlaag ik de rate-limits, in plaats van de automatische functie meteen uit te schakelen. Dat levert vaak een goed compromis op: minder hint-fouten, minder migraties, maar nog steeds voldoende reactie op echte foutieve plaatsingen.<\/p>\n\n<pre><code># Voorbeelden (tijdelijk, tot de herstart)\nsysctl -w kernel.numa_balancing_scan_period_min_ms=60000\nsysctl -w kernel.numa_balancing_scan_period_max_ms=240000\nsysctl -w kernel.numa_balancing_rate_limit_mb=64\n<\/code><\/pre>\n\n<h2>Metrics en diagnostiek in detail<\/h2>\n\n<p>Om weloverwogen beslissingen te kunnen nemen, bestudeer ik statistieken die het mechanisme direct zichtbaar maken. Ik maak regelmatig gebruik van drie bronnen:<\/p>\n\n<ul>\n  <li>numastat: verhouding tussen lokale en externe toegangen, voor het hele systeem en per proces.<\/li>\n  <li>\/proc\/\/numa_maps: verdeling van de geheugenpagina\u2019s van een proces over knooppunten, inclusief vlaggen zoals active, file en anon.<\/li>\n  <li>\/proc\/vmstat: tellers zoals numa_hint_faults, numa_hint_faults_local en numa_pages_migrated geven aan of de balancer actief is en of hij <strong>Succes<\/strong> heeft.<\/li>\n<\/ul>\n\n<pre><code># Overzicht per proces\nnumastat -p \n\n# Gedetailleerd overzicht: welke gebieden bevinden zich waar?\ngrep -E 'anon|file' \/proc\/\/numa_maps | head\n\n# Kernelbreed overzicht van AutoNUMA-activiteit\ngrep -E 'numa_(hint_faults|pages_migrated)' \/proc\/vmstat\n<\/code><\/pre>\n\n<p>In de resultaten zoek ik naar trends: stijgt het aandeel van lokale bezoeken gestaag? Neemt het aantal hint-fouten tegelijkertijd af? Dan is de lay-out goed. Blijft het lokale aandeel ondanks veel migraties stabiel, dan verspil ik eerder cycli. Voor latentiedoelstellingen controleer ik bovendien het 95e en 99e percentiel van de responstijden; kleine verbeteringen in het gemiddelde kunnen door <strong>Jitter<\/strong> worden bedekt.<\/p>\n\n<h2>Workload-profielen: wat doorgaans werkt<\/h2>\n\n<p>Uit de praktijk zijn er patronen naar voren gekomen die aangeven wanneer AutoNUMA meestal helpt en wanneer niet:<\/p>\n\n<ul>\n  <li>JVM-services en applicatieservers: deze profiteren er vaak van, zolang er geen strenge thread-pinning-strategie en geen agressieve eigen NUMA-logica actief is. Sommige runtime-omgevingen bieden NUMA-opties; als ik daar strikt gebruik van maak, beperk ik de automatische instellingen of schakel ik ze uit.<\/li>\n  <li>Relationele databases: bij een variabele belasting met gemengde caches werkt de automatische regeling vaak goed. Als ik echter dedicated pinning instel (worker-to-node, shared buffers strikt verdeeld), schakel ik de load balancing uit om een zuivere reproduceerbaarheid te garanderen.<\/li>\n  <li>In-memory-opslag en caches: een grote, veelgebruikte werkverzameling heeft baat bij lokale opslag. Als de instantie single-threaded of strikt vastgezet werkt, voorkom ik onnodige migraties door deze functie uit te schakelen.<\/li>\n  <li>HPC\/MPI en wetenschappelijke codes: meestal gelden er duidelijke regels voor plaatsing en koppeling (OpenMP\/numactl). Hier is voorspelbaarheid belangrijker dan automatisering \u2013 ik laat NUMA-balancing achterwege.<\/li>\n<\/ul>\n\n<h2>Virtualisatie: vNUMA, pinning en live-migratie<\/h2>\n\n<p>In de interactie tussen gastheer en gast houd ik rekening met beide niveaus:<\/p>\n\n<ul>\n  <li>Als de vNUMA-topologie in de gast overeenkomt met de fysieke NUMA-topologie van de host, kan de gastbalancer zinvolle beslissingen nemen. Als er afwijkingen zijn, ontstaan er \u201everkeerde buurgebieden\u201c, die AutoNUMA slechts in beperkte mate kan compenseren.<\/li>\n  <li>Als ik vCPU's vastzet op host-CPU's en het gastgeheugen aan bepaalde knooppunten koppel, is dat een expliciet beleid \u2013 ik beperk of schakel AutoNUMA op dit VM-niveau uit om dubbele migraties te voorkomen.<\/li>\n  <li>Na live-migraties zie ik een opstartfase: het aantal hint-fouten neemt toe totdat er een nieuw evenwicht is bereikt. In deze periode plan ik buffers in voor <strong>Latency<\/strong>-punten.<\/li>\n<\/ul>\n\n<p>Op drukbezette virtualisatiehosts, waar instanties worden gestart en gestopt en cgroups de belasting verplaatsen, blijft de automatische regeling op de host vaak een netto voordeel. Voor speciale VM\u2019s die gevoelig zijn voor \u201enoisy neighbors\u201c capsel ik de resources netjes af en stel ik de regels statisch in.<\/p>\n\n<h2>Pragmatische streefwaarden en acceptatiecriteria<\/h2>\n\n<p>Ik leg eerst vast wat \u201egoed\u201c betekent, zodat ik niet eindeloos blijf bijschaven:<\/p>\n\n<ul>\n  <li>Algemene diensten: 70\u201385% lokale toegangen zijn vaak voldoende als de variantie gering blijft.<\/li>\n  <li>Latentie-SLA's: doel &gt;90% lokaal, duidelijke bovengrenzen voor de hint-fault-rate en stabiele 99e percentielen.<\/li>\n  <li>Bandbreedte-intensief: migraties mogen de opslagkanalen niet overbelasten \u2013 pas de snelheidslimieten en periodes dienovereenkomstig aan.<\/li>\n<\/ul>\n\n<p>Ik leg deze drempels vast en analyseer A\/B-tests over meerdere belastingsfasen. Ik neem pas een beslissing als de resultaten herhaalbaar zijn.<\/p>\n\n<h2>Controlelijst voor probleemoplossing<\/h2>\n\n<ul>\n  <li>Plotselinge latentiepieken: Controleer of er een verband bestaat tussen THP-migraties en pieken in `numa_hint_faults`. Oplossing: Verleng de scanperiodes, stel THP in op `madvise\/never` en schakel indien nodig `Balance` uit.<\/li>\n  <li>Nauwelijks effect ondanks activering: zijn de threads sterk vastgezet of zijn er vaste geheugenbeleidsregels? Dan botst het automatische systeem met de voorschriften.<\/li>\n  <li>Hoog migratietempo, maar toch veel toegang op afstand: controleer de snelheidslimiet en verhoog deze; als alternatief: stabiliseer de werklast (thread-pinning, caches zo warm mogelijk houden).<\/li>\n  <li>Onduidelijke meetwaarden: bekijk de gegevens per proces met `numastat -p` en `\/proc\/\/numa_maps`, en kijk niet alleen naar de totale systeemwaarden.<\/li>\n<\/ul>\n\n<h2>Vaak over het hoofd geziene details<\/h2>\n\n<ul>\n  <li>Workloads waarbij de paginacache een grote rol speelt: AutoNUMA heeft vooral effect op anonieme pagina\u2019s. Wie voornamelijk met I\/O-gebonden taken werkt, moet geen wonderen verwachten van load balancing.<\/li>\n  <li>Cgroups en cpusets: cpuset.mems bepaalt tot welke nodes een groep toegang heeft. Dit is een strikt kader waarbinnen het automatische systeem opereert.<\/li>\n  <li>Memory-Hotplug\/Node-Offlining: dynamische topologie\u00ebn be\u00efnvloeden de afstanden; na wijzigingen is het raadzaam om een nieuwe test uit te voeren en indien nodig de scanparameters aan te passen.<\/li>\n<\/ul>\n\n<h2>Kort samengevat<\/h2>\n\n<p>Voor algemene serverworkloads laat ik de automatische modus ingeschakeld, omdat deze zonder handmatig ingrijpen bijna <strong>Gegevens<\/strong> wat leidt tot actieve kernen. Bij realtime, HFT, handmatig pinning of vaste beleidsregels schakel ik ze uit om overhead en jitter te voorkomen. In testfasen werk ik iteratief: meten, beslissen, opnieuw <strong>valideren<\/strong>. Ik houd de configuratie eenvoudig, documenteer elke wijziging en controleer het effect aan de hand van betrouwbare kengetallen. Zo maak ik optimaal gebruik van de sterke punten van NUMA-hardware, zonder onnodige <strong>Risico's<\/strong> aan te gaan.<\/p>","protected":false},"excerpt":{"rendered":"<p>Ontdek hoe NUMA-balancing de Linux-prestaties op moderne serverhardware be\u00efnvloedt en wanneer je deze functie moet uitschakelen of juist ingeschakeld moet laten. Focus: NUMA-balancing.<\/p>","protected":false},"author":1,"featured_media":21096,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[676],"tags":[],"class_list":["post-21103","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":"171","_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":"numa balancing","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":"21096","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/posts\/21103","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=21103"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/posts\/21103\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/media\/21096"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/media?parent=21103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/categories?post=21103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/tags?post=21103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}