<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Huge Pages on Netdata</title><link>https://www.netdata.cloud/tags/huge-pages/</link><description>Recent content in Huge Pages on Netdata</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 30 Aug 2026 16:12:47 +0300</lastBuildDate><atom:link href="https://www.netdata.cloud/tags/huge-pages/index.xml" rel="self" type="application/rss+xml"/><item><title>Understanding Huge Pages</title><link>https://www.netdata.cloud/blog/understanding-huge-pages/</link><pubDate>Thu, 04 May 2023 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/blog/understanding-huge-pages/</guid><description>&lt;p&gt;Memory-intensive applications can benefit from &lt;a href="https://www.netdata.cloud/academy/what-is-application-performance-monitoring-apm/"&gt;improved performance&lt;/a&gt; by using huge pages, as they can reduce TLB pressure and memory fragmentation, and lower the memory management overhead overall. Developers should consider using HugeTLBfs in their mmap() and shmget() calls to take advantage of huge pages.&lt;/p&gt;&#10;&lt;p&gt;Transparent Huge Pages (THP) is a Linux kernel feature that provides some of the benefits of huge pages without requiring any development effort. However, THP can cause latency in many applications. Although kernel developers are actively working to address these issues, many system administrators prefer to disable THP altogether.&lt;/p&gt;</description></item><item><title>MySQL OOM-killed: buffer pool, per-connection buffers, and the kernel killer</title><link>https://www.netdata.cloud/guides/mysql/mysql-out-of-memory-oom-killed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/mysql/mysql-out-of-memory-oom-killed/</guid><description>&lt;p&gt;MySQL disappears. Application logs fill with connection timeouts. &lt;code&gt;Uptime&lt;/code&gt; resets to near zero. In the kernel log: &lt;code&gt;oom-kill: task mysqld&lt;/code&gt; and its anonymous RSS. Orchestrators mark the pod &lt;code&gt;OOMKilled&lt;/code&gt; (exit code 137). To the application, this is a crash. To the kernel, mysqld was the largest memory consumer and the system ran out.&lt;/p&gt;&#10;&lt;p&gt;OOM kills are gradual, then catastrophic. Memory pressure builds as connections open, temp tables materialize, and dirty pages accumulate. The buffer pool is the obvious consumer, but the killer often enters through the back door: a connection burst multiplies per-thread buffers, a container limit sits too close to the buffer pool size, or Transparent Huge Pages block reclamation. Map all allocators to prevent recurrence.&lt;/p&gt;</description></item><item><title>Redis latest_fork_usec too high: THP, NUMA, and fork latency</title><link>https://www.netdata.cloud/guides/redis/redis-latest-fork-usec-high/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/redis/redis-latest-fork-usec-high/</guid><description>&lt;p&gt;&lt;code&gt;INFO stats&lt;/code&gt; shows &lt;code&gt;latest_fork_usec&lt;/code&gt; in the hundreds of milliseconds. Every &lt;code&gt;fork()&lt;/code&gt; blocks the single event loop, so during that window no commands are processed. Clients time out, replicas disconnect, and a full resync can trigger another fork, creating a loop of latency and reconnection storms. A normal fork costs roughly 10-20ms per gigabyte of resident memory with Transparent Huge Pages disabled. If you are seeing 10-100x that, the culprit is usually THP, NUMA, or memory overcommit policy.&lt;/p&gt;</description></item><item><title>Redis OOM-killed by the kernel: RSS, overcommit, and recovery</title><link>https://www.netdata.cloud/guides/redis/redis-out-of-memory-oom-killed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/redis/redis-out-of-memory-oom-killed/</guid><description>&lt;p&gt;Redis reports &lt;code&gt;used_memory&lt;/code&gt; at 60% of &lt;code&gt;maxmemory&lt;/code&gt;, then disappears. The container status is &lt;code&gt;OOMKilled&lt;/code&gt;, or &lt;code&gt;dmesg&lt;/code&gt; shows the kernel OOM killer selected &lt;code&gt;redis-server&lt;/code&gt;. The kernel enforces resident memory (RSS), while &lt;code&gt;used_memory&lt;/code&gt; and &lt;code&gt;maxmemory&lt;/code&gt; track logical allocator state. Fragmentation, copy-on-write pages during persistence, and client buffers inflate RSS above the logical figure most operators monitor. When RSS hits the host or cgroup memory ceiling, the kernel terminates the process even though Redis believes it is within limits.&lt;/p&gt;</description></item><item><title>Redis sync_full incrementing: diagnosing full resync events</title><link>https://www.netdata.cloud/guides/redis/redis-full-resync-storms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.netdata.cloud/guides/redis/redis-full-resync-storms/</guid><description>&lt;p&gt;Your Redis primary&amp;rsquo;s &lt;code&gt;sync_full&lt;/code&gt; counter is climbing. That means replicas are performing full resyncs instead of partial ones. Each full resync forces the primary to fork, write an RDB snapshot, and push it to the replica, which then wipes its own dataset and reloads from scratch. One full resync is a heavy operation. Several in succession, or multiple at once, can freeze the primary&amp;rsquo;s event loop, spike memory via copy-on-write, and trigger a cascade where more replicas fall behind and also need full resyncs.&lt;/p&gt;</description></item></channel></rss>