<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: man8alexd</title><link>https://news.ycombinator.com/user?id=man8alexd</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 19 Aug 2026 16:02:24 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=man8alexd" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by man8alexd in "Ask HN: Who wants to be hired? (August 2026)"]]></title><description><![CDATA[
<p>Location: Belgrade, Serbia (UTC+2)<p>Remote: yes (working exclusively remotely for the past 20 years)<p>Willing to relocate: yes<p>Technologies: AWS, Kubernetes, Nomad, Docker, podman, HashiCorp Consul, Vault, Packer, Terraform, Ansible, Chef, Puppet, Grafana, Loki, Prometheus, ELK stack, Jenkins, GitHub Actions, Flux, GitLab, Postfix, HAProxy, MySQL, MariaDB, PostgreSQL, Ruby, Python, bash, C<p>Résumé/CV: <a href="https://alexeydemidov.com/cv" rel="nofollow">https://alexeydemidov.com/cv</a><p>Email: in the resume<p>GitHub: <a href="https://github.com/AlexeyDemidov" rel="nofollow">https://github.com/AlexeyDemidov</a><p>LinkedIn: <a href="https://www.linkedin.com/in/alekseydemidov/" rel="nofollow">https://www.linkedin.com/in/alekseydemidov/</a><p>ServerFault: <a href="https://serverfault.com/users/23022/alexd" rel="nofollow">https://serverfault.com/users/23022/alexd</a><p>Have been playing with Linux and FreeBSD for over two decades. Run an ISP engineering team for a decade, now building and maintaining cloud infras.</p>
]]></description><pubDate>Wed, 05 Aug 2026 13:03:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49182299</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=49182299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49182299</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>Why do you think it is a better default? What does it solve?</p>
]]></description><pubDate>Mon, 06 Jul 2026 16:36:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48807040</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48807040</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48807040</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>You have a lot of unused anonymous memory that is better swapped out and used as a file cache. Specifically for Linux swap, see <a href="https://chrisdown.name/2018/01/02/in-defence-of-swap.html" rel="nofollow">https://chrisdown.name/2018/01/02/in-defence-of-swap.html</a></p>
]]></description><pubDate>Mon, 06 Jul 2026 06:00:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48801140</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48801140</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48801140</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>You can't fix the fact that you can't predict the future. The software will always allocate more memory than it needs because it can't predict its future resource usage, so limiting memory allocation with strict overcommit is meaningless.</p>
]]></description><pubDate>Sun, 05 Jul 2026 20:28:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48797681</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48797681</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48797681</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>About shared memory included in the memory size calculations <a href="https://lkml.iu.edu/1902.2/05674.html" rel="nofollow">https://lkml.iu.edu/1902.2/05674.html</a></p>
]]></description><pubDate>Sun, 05 Jul 2026 15:29:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48795015</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48795015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48795015</guid></item><item><title><![CDATA[New comment by man8alexd in "FreeBSD ate my RAM"]]></title><description><![CDATA[
<p>The kernel keeps track of active/inactive pages by scanning page tables during the reclaim process. It only scans until it finds enough inactive pages to reclaim. Scanning all pages all the time is very expensive from a performance point of view.</p>
]]></description><pubDate>Sun, 05 Jul 2026 15:21:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48794938</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48794938</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48794938</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>You can't know when the OOM killer is awake and hunting. The kernel doesn't know that.</p>
]]></description><pubDate>Sat, 04 Jul 2026 21:07:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48789110</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48789110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48789110</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>OOM is better. If a program doesn't handle ENOMEM properly, then its state is unpredictable and can lead to data corruption.</p>
]]></description><pubDate>Sat, 04 Jul 2026 09:01:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48783908</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48783908</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48783908</guid></item><item><title><![CDATA[New comment by man8alexd in "FreeBSD ate my RAM"]]></title><description><![CDATA[
<p>Linux MemAvailable from /proc/meminfo is just an estimation calculated as an arbitrary percentage (50%) of free and potentially reclaimable memory.<p>You can't determine how much of the memory can actually be reclaimed under memory pressure until you try to reclaim it.</p>
]]></description><pubDate>Sat, 04 Jul 2026 08:54:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48783860</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48783860</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48783860</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>There is no point in managing memory allocations as they have little relation to actual memory usage. There are also other methods than the OOM killer to handle OOM, like process throttling using cgroups "memory.high" limits.</p>
]]></description><pubDate>Sat, 04 Jul 2026 08:42:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48783796</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48783796</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48783796</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>In this specific case, the correct behaviour would be to drop a part of the buffer pool until the memory pressure is gone. The context-dependent question is how much and how fast to drop. The current implementation drops to a single configurable level but I suspect it could have implemented better heuristics.</p>
]]></description><pubDate>Sat, 04 Jul 2026 08:34:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48783747</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48783747</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48783747</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>Because no one can predict the future, and they don't know how many resources they will need.</p>
]]></description><pubDate>Sat, 04 Jul 2026 08:09:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48783614</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48783614</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48783614</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>Maybe you should skip running a useless child process and just use PSI to monitor memory pressure.</p>
]]></description><pubDate>Sat, 04 Jul 2026 08:03:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48783584</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48783584</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48783584</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>You can always tell the system not to kill your Photoshop (or whatever else) by setting the OOM Score Adjust. This mechanism has existed for almost two decades and systemd has supported it for over a decade.</p>
]]></description><pubDate>Fri, 03 Jul 2026 23:19:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48781148</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48781148</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48781148</guid></item><item><title><![CDATA[New comment by man8alexd in "FreeBSD ate my RAM"]]></title><description><![CDATA[
<p>You will be surprised by how inaccurate memory measurements are.</p>
]]></description><pubDate>Fri, 03 Jul 2026 23:16:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48781131</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48781131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48781131</guid></item><item><title><![CDATA[New comment by man8alexd in "FreeBSD ate my RAM"]]></title><description><![CDATA[
<p>See this retrocomputing.SE question <a href="https://retrocomputing.stackexchange.com/questions/32492/origin-of-the-rule-that-swap-size-should-be-2x-of-the-physical-memory" rel="nofollow">https://retrocomputing.stackexchange.com/questions/32492/ori...</a></p>
]]></description><pubDate>Fri, 03 Jul 2026 22:39:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48780868</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48780868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48780868</guid></item><item><title><![CDATA[New comment by man8alexd in "FreeBSD ate my RAM"]]></title><description><![CDATA[
<p>FreeBSD didn’t have memory overcommit and instead used strict swap reservation - each allocated anonymous memory page was supposed to have a corresponding swap page. This required 2x RAM swap space, otherwise you would get “out of swap” when forking a large process. FreeBSD implemented memory overcommit around 2000.</p>
]]></description><pubDate>Fri, 03 Jul 2026 22:21:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48780709</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48780709</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48780709</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>No, it doesn't handle failing allocations gracefully - <a href="https://unix.stackexchange.com/questions/797841/firefox-died-with-vm-enough-memory-not-enough-memory-for-the-allocation-des#comment1534064_797841" rel="nofollow">https://unix.stackexchange.com/questions/797841/firefox-died...</a></p>
]]></description><pubDate>Fri, 03 Jul 2026 21:54:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48780478</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48780478</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48780478</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>Is Firefox low quality?</p>
]]></description><pubDate>Fri, 03 Jul 2026 21:10:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48779994</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48779994</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48779994</guid></item><item><title><![CDATA[New comment by man8alexd in "PostgreSQL and the OOM killer: Why we use strict memory overcommit"]]></title><description><![CDATA[
<p>People like to reinvent things that they are not aware of. Original BSDs used to use strict swap reservation - every anonymous memory page had to have an associated swap page. You had to have the swap 2x of RAM to allow large processes to fork - otherwise you would get an "out of swap" error. FreeBSD implemented overcommit around 2000, I think version 4.x or 5.x.</p>
]]></description><pubDate>Fri, 03 Jul 2026 21:08:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48779982</link><dc:creator>man8alexd</dc:creator><comments>https://news.ycombinator.com/item?id=48779982</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48779982</guid></item></channel></rss>