<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>swap &amp;mdash; daltux</title>
    <link>https://blog.ayom.media/daltux/tag:swap</link>
    <description>Pelas liberdades de executar, estudar, aprimorar e compartilhar a tecnologia.</description>
    <pubDate>Thu, 30 Apr 2026 13:34:37 +0000</pubDate>
    <item>
      <title>Instabilidade no Ubuntu: motivo e solução</title>
      <link>https://blog.ayom.media/daltux/instabilidade-no-ubuntu-motivo-e-solucao</link>
      <description>&lt;![CDATA[  smallÚltima revisão: 13/11/2023/small&#xA;&#xA;Ubuntu, recentemente (22.04a href=&#34;#iums-footnote-1&#34;sup1]/sup/a em diante), na sua variação para [desktop, inclui um serviço &#34;systemd-oomd&#34; que mata processos que estejam consumindo muita memória, preventivamente, bem antes que ela se esgote e haja potencial travamento. A ideia parece boa, porém, como está implementada, acaba sendo exagerada.&#xA;&#xA;!--more--Não adianta disponibilizar mais swapa href=&#34;#iums-footnote-2&#34;sup2]/sup/a, pois o novo mecanismo entra em ação quando qualquer processo (leia-se provavelmente o [navegador) tem a tendência de ocupar mais do que 50% da RAM por mais de 20s, por padrão. Pode conferir suas definições executando oomctl. Mesmo alterar as configurações (em /etc/systemd/oomd.conf) parece não solucionar, pois, no fim, impede que o usuário ocupe toda a memória.&#xA;&#xA;Na prática comum, se a máquina não tiver muita RAM sobrando, o navegador, ao ser utilizado mais intensamente, acaba sendo fechado bruscamente, enquanto ainda praticamente nem foi usada swap. Pior que, se não olhar o sysloga href=&#34;#iums-footnote-3&#34;sup[3]/sup/a (ou journalctla href=&#34;#iums-footnote-4&#34;sup[4]/sup/a), o usuário nem fica sabendo por quêa href=&#34;#iums-footnote-5&#34;sup[5]/sup/a. Talvez culpe a aplicação. Havendo escassez de RAM, isso pode acontecer com qualquer programa razoavelmente espaçoso como, por exemplo, enquanto edita uma planilha ou outro arquivo, ou desenvolve um sistema. Há relatosa href=&#34;#iums-footnote-6&#34;sup[6]/sup/a de que, dependendo da situação, até aquele que chamou os processos pode vir a ser encerrado, como seu terminal ou a área de trabalho completa. Portanto, há risco de perder dados não salvos.&#xA;&#xA;Independentemente do que tentam sistemas operacionais, utilitários ou aplicativos para mitigar a questão, é claro que utilizar uma máquina com memória insuficiente terá efeitos indesejados ou será até inviável. Swap felizmente permite que mais memória esteja disponível para processos em execução, tendo o efeito adverso de lentidão ao transferir páginas de memória para/do armazenamento, sobretudo se este for mecânicoa href=&#34;#iums-footnote-7&#34;sup[7]/sup/a. O &#34;systemd-oomd&#34;, por matar processos antes que ocupem toda a memória, dá uma falsa sensação de menos travamento. Entretanto, o preço a pagar por essa comodidade é alto.&#xA;&#xA;O que se pode fazer, por enquanto, data venia, é contrariar a Canonical (empresa que mantém o Ubuntu) e retornar ao que sempre funcionou, bem ou mal: confiar apenas no próprio Kernel (Linux) para matar emergencialmente os processos mais vorazes somente quando estiver esgotada a memória total, incluindo swap. É uma situação extrema em que já não há mais memória disponível, gerando congelamento até que o #Kernel, vagarosamente, consiga recuperar memória suficiente para os processos sobreviventes continuarem a execução. Essa problemática foi a motivação de Ubuntu incluir tal serviço paralelo, para evitar esse tipo de travamento. Contudo, acaba podendo ser pior.&#xA;&#xA;É possível desabilitar o systemd-oomd com: sudo systemctl disable --now systemd-oomd.service&#xA;&#xA;Mas, isto não garante que ele não seja invocado posteriormente por algum outro serviço. De fato, mesmo com o serviço desabilitado, ele pode acabar sendo encontrado em execução após um reboot, gerando os mesmos sintomas. Uma alternativa seria &#34;mascará-lo&#34;: sudo systemctl mask systemd-oomd a href=&#34;#iums-footnote-8&#34;sup[8]/sup/a&#xA;&#xA;A mais eficaz e definitiva solução é desinstalar o pacote systemd-oomda href=&#34;#iums-footnote-9&#34;sup[9]/sup/a. Não há dependentes, portanto não há impedimento:&#xA;&#xA;sudo apt remove --purge systemd-oomd&#xA;Se, futuramente, o funcionamento de tal mecanismo for aperfeiçoado, ou se mudar de ideia, basta reinstalar esse pacote.&#xA;&#xA;Observação&#xA;O texto está focado no #Ubuntu pois era uma distribuição que o autor utilizava no cotidiano à época da redação, todavia também é válido para outras que trazem o &#34;systemd-oomd&#34;, como Fedora ≥34.a href=&#34;#iums-footnote-10&#34;sup[10]/sup/a&#xA;---&#xA;smallspan id=&#34;iums-footnote-1&#34;1]/span Ubuntu 22.04 LTS lançado em abril de 2022. Confira os [detalhes (em inglês).&#xA;span id=&#34;iums-footnote-2&#34;2]/span Mecanismo de [memória virtual: partição ou arquivo de troca de paginação de memória física para disco que permite ter mais memória livre.&#xA;span id=&#34;iums-footnote-3&#34;[3]/span Registro de eventos do sistema, geralmente disponível no arquivo /var/log/syslog.&#xA;span id=&#34;iums-footnote-4&#34;4]/span Saiba [como utilizar o journalctl para visualizar mensagens do systemd.&#xA;span id=&#34;iums-footnote-5&#34;5]/span Cf. [relato de bug do systemd.&#xA;span id=&#34;iums-footnote-6&#34;[6]/span Cf., p. ex., https://techhq.com/2022/07/ubuntu-22-oomd-app-killer-memory-pressure/, https://bugzilla.redhat.com/showbug.cgi?id=1941340, https://bugzilla.redhat.com/showbug.cgi?id=1933494, https://askubuntu.com/questions/1404888&#xA;span id=&#34;iums-footnote-7&#34;7]/span Há maneiras de otimizar um pouco o uso de swap atualmente, como [zswap ou zram, boas sugestões. Confira ainda um texto do Arch Linux a respeito (em inglês), incluindo outras opções de limpeza automática de memória similares ao &#34;systemd-oomd&#34;.&#xA;span id=&#34;iums-footnote-8&#34;[8]/span Cf. https://www.cjjackson.dev/posts/what-is-systemd-oomd-how-to-disable-it/&#xA;span id=&#34;iums-footnote-9&#34;[9]/span Cf. https://askubuntu.com/a/1423840/1007603&#xA;span id=&#34;iums-footnote-10&#34;10]/span Cf. [relato de bug de 2021./small&#xA;&#xA;#systemd #RAM #Ubuntu #Fedora #GNU #Linux #swap&#xA;&#xA;span class=&#34;post-sig&#34; lang=&#34;pt-BR&#34;🇧🇷🇵🇹 a href=&#34;https://blog.ayom.media/daltux&#34;Este blogue/a © 2023-26 por a href=&#34;https://daltux.net/&#34; rel=&#34;me&#34;Daltux/a é publicado sob a licença a href=&#34;https://creativecommons.org/licenses/by-sa/4.0/deed.pt-br&#34; target=&#34;blank&#34; title=&#34;Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional&#34; CC BY-SA 4.0/a.br/span lang=&#34;en&#34;🇨🇦🇬🇧 a rel=&#34;cc:attributionURL&#34; href=&#34;https://blog.ayom.media/daltux&#34;This blog/a © 2023-26 by a rel=&#34;cc:attributionURL dct:creator&#34; property=&#34;cc:attributionName&#34; href=&#34;https://daltux.net/&#34; rel=&#34;me&#34;Daltux/a is licensed under a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34; target=&#34;_blank&#34; rel=&#34;license noopener noreferrer&#34; style=&#34;display:inline-block;&#34; title=&#34;Creative Commons Attribution-ShareAlike 4.0 International license&#34;CC BY-SA 4.0/a. !--&amp;#x1F16D;&amp;#x1F16F;&amp;#x1F10E;--/span/spanspan style=&#34;font-size: 1.5em; vertical-align:middle;&#34; title=&#34;Creative Commons Attribution-ShareAlike 4.0 International license&#34;&#xD;&#xA;&amp;#127341;&amp;#127343;&amp;#127246;/span]]&gt;</description>
      <content:encoded><![CDATA[<blockquote><p><small>Última revisão: 13/11/2023</small></p></blockquote>

<p><a href="https://pt.wikipedia.org/wiki/Ubuntu" rel="nofollow">Ubuntu</a>, recentemente (22.04<a href="#iums-footnote-1" rel="nofollow"><sup>[1]</sup></a> em diante), na sua variação para <a href="https://pt.wikipedia.org/wiki/Desktop_Linux" rel="nofollow"><em>desktop</em></a>, inclui um serviço “<strong><a href="https://www.freedesktop.org/software/systemd/man/systemd-oomd.html" rel="nofollow">systemd-oomd</a></strong>” que <a href="https://pt.wikipedia.org/wiki/SIGKILL" rel="nofollow">mata</a> processos que estejam consumindo muita memória, preventivamente, bem antes que ela se esgote e haja potencial travamento. A ideia parece boa, porém, como está implementada, acaba sendo exagerada.</p>

<p>Não adianta disponibilizar mais <em>swap</em><a href="#iums-footnote-2" rel="nofollow"><sup>[2]</sup></a>, pois o novo mecanismo entra em ação quando qualquer processo (leia-se provavelmente <em>o <a href="https://pt.wikipedia.org/wiki/Navegador_web" rel="nofollow">navegador</a>)</em> tem a tendência de ocupar mais do que 50% da <a href="https://pt.wikipedia.org/wiki/Mem%C3%B3ria_de_acesso_aleat%C3%B3rio" rel="nofollow">RAM</a> por mais de 20s, por padrão. Pode conferir suas definições executando <code>oomctl</code>. Mesmo alterar as configurações (em <a href="https://www.freedesktop.org/software/systemd/man/oomd.conf.html" rel="nofollow"><code>/etc/systemd/oomd.conf</code></a>) parece não solucionar, pois, no fim, impede que o usuário ocupe toda a memória.</p>

<p>Na prática comum, se a máquina não tiver <strong>muita</strong> RAM sobrando, o navegador, ao ser utilizado mais intensamente, acaba sendo fechado bruscamente, enquanto ainda praticamente nem foi usada <em>swap</em>. Pior que, se não olhar o <em>syslog</em><a href="#iums-footnote-3" rel="nofollow"><sup>[3]</sup></a> (ou <code>journalctl</code><a href="#iums-footnote-4" rel="nofollow"><sup>[4]</sup></a>), o usuário nem fica sabendo por quê<a href="#iums-footnote-5" rel="nofollow"><sup>[5]</sup></a>. Talvez culpe a aplicação. Havendo escassez de RAM, isso pode acontecer com qualquer programa razoavelmente espaçoso como, por exemplo, enquanto edita uma planilha ou outro arquivo, ou desenvolve um sistema. Há relatos<a href="#iums-footnote-6" rel="nofollow"><sup>[6]</sup></a> de que, dependendo da situação, até aquele que chamou os processos pode vir a ser encerrado, como seu terminal ou a área de trabalho completa. Portanto, há <strong>risco de perder dados</strong> não salvos.</p>

<p>Independentemente do que tentam sistemas operacionais, utilitários ou aplicativos para mitigar a questão, é claro que utilizar uma máquina com memória insuficiente terá efeitos indesejados ou será até inviável. <em>Swap</em> felizmente permite que mais memória esteja disponível para processos em execução, tendo o efeito adverso de lentidão ao transferir páginas de memória para/do armazenamento, sobretudo se este for mecânico<a href="#iums-footnote-7" rel="nofollow"><sup>[7]</sup></a>. O “systemd-oomd”, por matar processos antes que ocupem toda a memória, dá uma falsa sensação de menos travamento. Entretanto, o preço a pagar por essa comodidade é alto.</p>

<p>O que se pode fazer, por enquanto, <em><a href="https://pt.wiktionary.org/wiki/data_venia" rel="nofollow">data venia</a></em>, é contrariar a <a href="https://pt.wikipedia.org/wiki/Canonical_Ltd." rel="nofollow">Canonical</a> (empresa que mantém o Ubuntu) e retornar ao que sempre funcionou, bem ou mal: confiar apenas no próprio <em><a href="https://www.kernel.org/linux.html" rel="nofollow">Kernel</a></em> (<a href="https://pt.wikipedia.org/wiki/Linux" rel="nofollow">Linux</a>) para matar emergencialmente os processos mais vorazes somente quando estiver esgotada a memória total, incluindo <em>swap</em>. É uma situação extrema em que já não há mais memória disponível, gerando congelamento até que o <a href="/daltux/tag:Kernel" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Kernel</span></a>, vagarosamente, consiga recuperar memória suficiente para os processos sobreviventes continuarem a execução. Essa problemática foi a motivação de Ubuntu incluir tal serviço paralelo, para evitar esse tipo de travamento. Contudo, acaba podendo ser pior.</p>

<p>É possível desabilitar o <em>systemd-oomd</em> com: <code>sudo systemctl disable --now systemd-oomd.service</code></p>

<p>Mas, isto não garante que ele não seja invocado posteriormente por algum outro serviço. De fato, mesmo com o serviço desabilitado, ele pode acabar sendo encontrado em execução após um <em>reboot</em>, gerando os mesmos sintomas. Uma alternativa seria “mascará-lo”: <code>sudo systemctl mask systemd-oomd</code> <a href="#iums-footnote-8" rel="nofollow"><sup>[8]</sup></a></p>

<p>A mais eficaz e definitiva solução é desinstalar o pacote <code>systemd-oomd</code><a href="#iums-footnote-9" rel="nofollow"><sup>[9]</sup></a>. Não há dependentes, portanto não há impedimento:</p>

<pre><code class="language-bash">sudo apt remove --purge systemd-oomd
</code></pre>

<p>Se, futuramente, o funcionamento de tal mecanismo for aperfeiçoado, ou se mudar de ideia, basta reinstalar esse pacote.</p>

<h2 id="observação">Observação</h2>

<p>O texto está focado no <a href="/daltux/tag:Ubuntu" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Ubuntu</span></a> pois era uma distribuição que o autor utilizava no cotidiano à época da redação, todavia também é válido para outras que trazem o “systemd-oomd”, como <a href="https://pt.wikipedia.org/wiki/Fedora_Linux" rel="nofollow">Fedora</a> ≥34.<a href="#iums-footnote-10" rel="nofollow"><sup>[10]</sup></a></p>

<hr>

<p><small><span id="iums-footnote-1">[1]</span> Ubuntu 22.04 LTS lançado em abril de 2022. Confira os <a href="https://discourse.ubuntu.com/t/jammy-jellyfish-release-notes/24668" rel="nofollow">detalhes (em inglês)</a>.
<span id="iums-footnote-2">[2]</span> Mecanismo de <a href="https://pt.wikipedia.org/wiki/Mem%C3%B3ria_virtual" rel="nofollow">memória virtual</a>: partição ou arquivo de troca de paginação de memória física para disco que permite ter mais memória livre.
<span id="iums-footnote-3">[3]</span> Registro de eventos do sistema, geralmente disponível no arquivo <code>/var/log/syslog</code>.
<span id="iums-footnote-4">[4]</span> Saiba <a href="https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs-pt" rel="nofollow">como utilizar o <code>journalctl</code></a> para visualizar mensagens do systemd.
<span id="iums-footnote-5">[5]</span> Cf. <a href="https://github.com/systemd/systemd/issues/20649" rel="nofollow">relato de <em>bug</em> do systemd</a>.
<span id="iums-footnote-6">[6]</span> Cf., p. ex., <a href="https://techhq.com/2022/07/ubuntu-22-oomd-app-killer-memory-pressure/" rel="nofollow">https://techhq.com/2022/07/ubuntu-22-oomd-app-killer-memory-pressure/</a>, <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1941340" rel="nofollow">https://bugzilla.redhat.com/show_bug.cgi?id=1941340</a>, <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1933494" rel="nofollow">https://bugzilla.redhat.com/show_bug.cgi?id=1933494</a>, <a href="https://askubuntu.com/questions/1404888" rel="nofollow">https://askubuntu.com/questions/1404888</a>
<span id="iums-footnote-7">[7]</span> Há maneiras de otimizar um pouco o uso de <em>swap</em> atualmente, como <a href="https://pt.wikipedia.org/wiki/Zswap" rel="nofollow">zswap</a> ou <a href="https://pt.wikipedia.org/wiki/Zram" rel="nofollow">zram</a>, boas sugestões. Confira ainda um <a href="https://wiki.archlinux.org/title/Improving_performance#RAM,_swap_and_OOM_handling" rel="nofollow">texto do Arch Linux a respeito (em inglês)</a>, incluindo outras opções de limpeza automática de memória similares ao “systemd-oomd”.
<span id="iums-footnote-8">[8]</span> Cf. <a href="https://www.cjjackson.dev/posts/what-is-systemd-oomd-how-to-disable-it/" rel="nofollow">https://www.cjjackson.dev/posts/what-is-systemd-oomd-how-to-disable-it/</a>
<span id="iums-footnote-9">[9]</span> Cf. <a href="https://askubuntu.com/a/1423840/1007603" rel="nofollow">https://askubuntu.com/a/1423840/1007603</a>
<span id="iums-footnote-10">[10]</span> Cf. <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1941170" rel="nofollow">relato de <em>bug</em> de 2021</a>.</small></p>

<p><a href="/daltux/tag:systemd" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">systemd</span></a> <a href="/daltux/tag:RAM" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">RAM</span></a> <a href="/daltux/tag:Ubuntu" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Ubuntu</span></a> <a href="/daltux/tag:Fedora" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Fedora</span></a> <a href="/daltux/tag:GNU" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">GNU</span></a> <a href="/daltux/tag:Linux" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Linux</span></a> <a href="/daltux/tag:swap" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">swap</span></a></p>

<p><span class="post-sig" lang="pt-BR">🇧🇷🇵🇹 <a href="https://blog.ayom.media/daltux" rel="nofollow">Este blogue</a> © 2023-26 por <a href="https://daltux.net/" rel="nofollow">Daltux</a> é publicado sob a licença <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.pt-br" target="_blank" title="Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional" rel="nofollow noopener">CC BY-SA 4.0</a>.<br/><span lang="en">🇨🇦🇬🇧 <a href="https://blog.ayom.media/daltux" rel="nofollow">This blog</a> © 2023-26 by <a href="https://daltux.net/" rel="nofollow">Daltux</a> is licensed under <a href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank" style="display:inline-block;" title="Creative Commons Attribution-ShareAlike 4.0 International license" rel="nofollow noopener">CC BY-SA 4.0</a>. </span></span><span style="font-size: 1.5em; vertical-align:middle;" title="Creative Commons Attribution-ShareAlike 4.0 International license">
🅭🅯🄎</span></p>
]]></content:encoded>
      <guid>https://blog.ayom.media/daltux/instabilidade-no-ubuntu-motivo-e-solucao</guid>
      <pubDate>Wed, 19 Jul 2023 17:22:00 +0000</pubDate>
    </item>
  </channel>
</rss>