<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Linux on Moises Vega</title><link>https://mvega.dev/tags/linux/</link><description>Recent content in Linux on Moises Vega</description><generator>Hugo</generator><language>en-us</language><copyright>Moises Vega</copyright><lastBuildDate>Thu, 03 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://mvega.dev/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>When THP always Undoes the Go Scavenger's Work</title><link>https://mvega.dev/posts/go-scavenger-thp-oom/</link><pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate><guid>https://mvega.dev/posts/go-scavenger-thp-oom/</guid><description>&lt;p&gt;A fleet of Go services kept getting OOM-killed inside containers whose
memory limits were generous — two to three times the live heap the
runtime reported. We had &lt;code&gt;GODEBUG=madvdontneed=1&lt;/code&gt; set from years back,
so I expected RSS to track the heap closely. Instead RSS climbed in a
sawtooth that never came back down, while &lt;code&gt;runtime.MemStats.HeapReleased&lt;/code&gt;
insisted the memory had been handed back to the kernel.&lt;/p&gt;
&lt;p&gt;Both were telling the truth. The host had
&lt;code&gt;/sys/kernel/mm/transparent_hugepage/enabled&lt;/code&gt; set to &lt;code&gt;always&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Managing Dotfiles with GNU Stow</title><link>https://mvega.dev/posts/dotfiles-with-stow/</link><pubDate>Thu, 13 Aug 2026 00:00:00 +0000</pubDate><guid>https://mvega.dev/posts/dotfiles-with-stow/</guid><description>&lt;p&gt;Dotfile setups tend to start as a repo full of files plus a shell script
that copies them into &lt;code&gt;$HOME&lt;/code&gt;. The copies drift from the repo, the
script grows special cases, and eventually nobody is sure which version
is real.&lt;/p&gt;
&lt;p&gt;GNU Stow removes the copy step. One directory per tool, and &lt;code&gt;stow &amp;lt;tool&amp;gt;&lt;/code&gt;
symlinks its contents into the parent directory. Editing the repo edits
the live config, because they are the same file.&lt;/p&gt;</description></item></channel></rss>