{"id":5464,"date":"2026-04-07T18:38:51","date_gmt":"2026-04-07T21:38:51","guid":{"rendered":"https:\/\/helpsysadmin.com.br\/blog\/?p=5464"},"modified":"2026-04-22T00:48:35","modified_gmt":"2026-04-22T03:48:35","slug":"oom-killer-mysql-guia-sobrevivencia","status":"publish","type":"post","link":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/","title":{"rendered":"OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados"},"content":{"rendered":"<div id=\"helps-721746747\" class=\"helps-before-content-2 helps-entity-placement\"><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-3661896953164277\"\r\n     crossorigin=\"anonymous\"><\/script>\r\n<!-- 2anuncios display quadrado -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-3661896953164277\"\r\n     data-ad-slot=\"5051229894\"\r\n     data-ad-format=\"auto\"\r\n     data-full-width-responsive=\"true\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script><\/div><div id=\"helps-433340274\"><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-3661896953164277\"\r\n     crossorigin=\"anonymous\"><\/script>\r\n<!-- quadrado -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-3661896953164277\"\r\n     data-ad-slot=\"7475053573\"\r\n     data-ad-format=\"auto\"\r\n     data-full-width-responsive=\"true\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-introducao-o-fantasma-das-quedas-inesperadas\">Introdu\u00e7\u00e3o: O Fantasma das Quedas Inesperadas<\/h2>\n\n\n\n<p>No ecossistema de administra\u00e7\u00e3o de servidores <a href=\"https:\/\/helpsysadmin.com.br\/blog\/como-instalar-crowdsec\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"Como instalar Crowdsec\" target=\"_blank\" rel=\"noopener\">Linux<\/a>, poucos erros s\u00e3o t\u00e3o frustrantes quanto o encerramento inesperado de um servi\u00e7o cr\u00edtico. Voc\u00ea acorda com notifica\u00e7\u00f5es de &#8220;Database Connection Error&#8221; e, ao verificar o status, percebe que o servi\u00e7o do MySQL simplesmente desapareceu. N\u00e3o h\u00e1 erros no <code>error.log<\/code> do MySQL que expliquem uma falha interna. \u00c9 aqui que entra o <strong>OOM Killer MySQL<\/strong>.<\/p>\n\n\n\n<p>Neste guia extenso, vamos mergulhar nas entranhas do kernel Linux para entender por que ele decide &#8220;assassinar&#8221; o seu banco de dados e como <a href=\"https:\/\/helpsysadmin.com.br\/blog\/configurar-login-automatico-phpmyadmin\/\" data-internallinksmanager029f6b8e52c=\"3\" title=\"Como Configurar Login Autom\u00e1tico no phpMyAdmin via DirectAdmin\">configurar<\/a> seu ambiente para que isso nunca mais aconte\u00e7a.<\/p>\n\n\n\n<p>Se o OOM Killer est\u00e1 sendo ativado no seu servidor, \u00e9 sinal de problemas graves de mem\u00f3ria e performance. Para entender o cen\u00e1rio completo, veja o guia de <strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/performance-de-servidores-linux\/\">performance de servidores Linux<\/a><\/strong>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>O OOM Killer deve ser analisado junto com outros sinais do sistema. Veja tamb\u00e9m:<\/p>\n<\/blockquote>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/usar-vmstat-para-achar-gargalo-linux\/\">como analisar uso de mem\u00f3ria<\/a><\/strong><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/servidor-lento-identificar-gargalo-vps-dedicado-cloud\/\">como identificar gargalos no servidor<\/a><\/strong><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/guia-completo-comando-sar-linux\/\">como monitorar com sar<\/a><\/strong><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-parte-1-entendendo-a-arquitetura-da-memoria-no-linux\">Parte 1: Entendendo a Arquitetura da Mem\u00f3ria no Linux<\/h2>\n\n\n\n<p>Para entender o <strong>OOM Killer MySQL<\/strong>, primeiro precisamos entender como o Linux gerencia a mem\u00f3ria RAM. O kernel opera sob um princ\u00edpio de &#8220;overcommit&#8221;. Isso significa que ele permite que os processos solicitem mais mem\u00f3ria do que realmente existe fisicamente, baseando-se na premissa de que nem todos os processos usar\u00e3o toda a mem\u00f3ria alocada ao mesmo tempo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-o-conceito-de-overcommit\">O Conceito de Overcommit<\/h3>\n\n\n\n<p>Imagine um restaurante que aceita reservas para 100 pessoas, mas s\u00f3 tem 80 cadeiras, acreditando que alguns clientes v\u00e3o se atrasar ou faltar. Se todos aparecerem ao mesmo tempo, o gerente (Kernel) ter\u00e1 que expulsar algu\u00e9m para o restaurante n\u00e3o colapsar.<\/p>\n\n\n\n<p>Quando o sistema atinge um ponto de exaust\u00e3o de mem\u00f3ria (incluindo a RAM e o Swap), o kernel invoca a fun\u00e7\u00e3o <code>out_of_memory()<\/code>. \u00c9 o in\u00edcio do julgamento do <strong>OOM Killer<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-parte-2-a-anatomia-do-oom-killer\">Parte 2: A Anatomia do OOM Killer<\/h2>\n\n\n\n<p>O Out-of-Memory Killer n\u00e3o age de forma ca\u00f3tica. Ele segue um algoritmo de pontua\u00e7\u00e3o para determinar qual processo \u00e9 o menos &#8220;valioso&#8221; ou o mais &#8220;culpado&#8221; pelo esgotamento.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-como-o-oom-score-e-calculado\">Como o <code>oom_score<\/code> \u00e9 calculado?<\/h3>\n\n\n\n<p>O kernel atribui a cada processo um valor chamado <code>oom_score<\/code>, que voc\u00ea pode consultar em <code>\/proc\/[PID]\/oom_score<\/code>. Os crit\u00e9rios incluem:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Porcentagem de mem\u00f3ria utilizada:<\/strong> Quanto mais RAM o processo usa, maior a pontua\u00e7\u00e3o.<\/li>\n\n\n\n<li><strong>Tempo de vida:<\/strong> Processos que rodam h\u00e1 muito tempo s\u00e3o levemente protegidos, mas o uso massivo de RAM anula esse benef\u00edcio.<\/li>\n\n\n\n<li><strong>Processos de Root:<\/strong> Antigamente tinham um b\u00f4nus de prote\u00e7\u00e3o, mas hoje o foco \u00e9 puramente na libera\u00e7\u00e3o de mem\u00f3ria.<\/li>\n<\/ol>\n\n\n\n<p>Como o MySQL geralmente det\u00e9m a maior fatia de RAM no servidor (para manter \u00edndices e dados em cache), o <strong>OOM Killer MySQL<\/strong> se torna uma consequ\u00eancia matem\u00e1tica quase inevit\u00e1vel se o servidor estiver subdimensionado.<\/p>\n\n\n\n<p>O OOM Killer \u00e9 consequ\u00eancia de falhas na gest\u00e3o de recursos. Confira como melhorar a <strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/performance-de-servidores-linux\/\">performance de servidores Linux<\/a><\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-parte-3-diagnosticando-o-crime-logs-e-comandos\">Parte 3: Diagnosticando o &#8220;Crime&#8221; (Logs e Comandos)<\/h2>\n\n\n\n<p>Se o seu banco de dados sumiu, o primeiro passo n\u00e3o \u00e9 reiniciar o servi\u00e7o, mas sim coletar evid\u00eancias forenses. O <strong>OOM Killer MySQL<\/strong> deixa rastros claros nos logs do sistema.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-o-comando-dmesg\">O Comando dmesg<\/h3>\n\n\n\n<p>O comando mais r\u00e1pido para identificar o problema \u00e9:<\/p>\n\n\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>dmesg -T | grep -i \"out of memory\"<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">dmesg<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">T<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">grep<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">i<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">out of memory<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>O par\u00e2metro <code>-T<\/code> converte os timestamps em datas leg\u00edveis. Voc\u00ea ver\u00e1 linhas indicando o <code>total_vm<\/code>, <code>anon-rss<\/code> e, finalmente, a mensagem: <code>Killed process [PID] (mysqld)<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-analisando-o-var-log-syslog-ou-var-log-messages\">Analisando o \/var\/log\/syslog ou \/var\/log\/messages<\/h3>\n\n\n\n<p>Em sistemas baseados em Debian\/Ubuntu ou RHEL\/CentOS, os logs detalhados mostram uma tabela de todos os processos e seus respectivos consumos no momento exato do crash. Procure pela linha <code>oom_reap<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Parte 4: O Cora\u00e7\u00e3o do Problema \u2013 InnoDB Buffer Pool<\/h2>\n\n\n\n<p>Se o seu servidor Linux \u00e9 o corpo, o <strong>InnoDB Buffer Pool<\/strong> \u00e9 o est\u00f4mago do MySQL. \u00c9 aqui que o banco de dados armazena em cache os dados das tabelas e os \u00edndices para evitar leituras lentas no disco (I\/O).<\/p>\n\n\n\n<p>Muitos administradores cometem o erro de configurar o <code>innodb_buffer_pool_size<\/code> baseando-se apenas na RAM total, esquecendo que o sistema operacional e outras threads tamb\u00e9m precisam de espa\u00e7o. Quando o Buffer Pool tenta expandir ou manter dados enquanto o sistema est\u00e1 sob press\u00e3o, o <strong>OOM Killer MySQL<\/strong> \u00e9 acionado para &#8220;limpar&#8221; o maior consumidor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">A Regra de Ouro da Aloca\u00e7\u00e3o<\/h3>\n\n\n\n<p>Para evitar o <strong>OOM Killer MySQL<\/strong>, a recomenda\u00e7\u00e3o t\u00e9cnica varia conforme o tamanho da sua inst\u00e2ncia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Servidores com &lt; 1GB de RAM:<\/strong> N\u00e3o use MySQL com configura\u00e7\u00f5es padr\u00e3o; use inst\u00e2ncias leves ou aumente a RAM.<\/li>\n\n\n\n<li><strong>Servidores entre 2GB e 8GB:<\/strong> Aloque cerca de 60% a 70% da RAM para o Buffer Pool.<\/li>\n\n\n\n<li><strong>Servidores com &gt; 32GB (Dedicados):<\/strong> Voc\u00ea pode chegar a 80%, deixando 20% para o kernel e buffers de rede.<\/li>\n<\/ul>\n\n\n\n<p>Problemas de mem\u00f3ria est\u00e3o diretamente ligados \u00e0 performance geral. Veja a estrat\u00e9gia de <strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/performance-de-servidores-linux\/\">otimiza\u00e7\u00e3o de servidores Linux<\/a><\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Parte 5: O C\u00e1lculo de Mem\u00f3ria por Conex\u00e3o (O Vil\u00e3o Silencioso)<\/h2>\n\n\n\n<p>Um erro comum que leva ao <strong>OOM Killer MySQL<\/strong> \u00e9 ignorar que cada nova conex\u00e3o ao banco de dados consome uma fatia extra de RAM. N\u00e3o \u00e9 apenas o cache global que conta.<\/p>\n\n\n\n<p>Existem buffers que s\u00e3o alocados <strong>por thread<\/strong> (por conex\u00e3o). Se voc\u00ea tem um <code>max_connections<\/code> configurado como 500, e cada conex\u00e3o pode usar 10MB de buffers tempor\u00e1rios, voc\u00ea tem um consumo potencial de 5GB de RAM <em>al\u00e9m<\/em> do que j\u00e1 foi definido no Buffer Pool.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Equa\u00e7\u00e3o de Consumo M\u00e1ximo de Mem\u00f3ria<\/h3>\n\n\n\n<p>Para prever se o seu servidor sofrer\u00e1 um ataque do <strong>OOM Killer MySQL<\/strong>, use esta f\u00f3rmula simplificada:<\/p>\n\n\n\n<p>$$Mem\u00f3ria\\_Total = Global\\_Buffers + (Per\\_Thread\\_Buffers \\times max\\_connections)$$<\/p>\n\n\n\n<p>Onde os <strong>Global Buffers<\/strong> incluem:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>innodb_buffer_pool_size<\/code><\/li>\n\n\n\n<li><code>innodb_log_buffer_size<\/code><\/li>\n\n\n\n<li><code>key_buffer_size<\/code><\/li>\n<\/ul>\n\n\n\n<p>E os <strong>Per-Thread Buffers<\/strong> incluem:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>read_buffer_size<\/code><\/li>\n\n\n\n<li><code>read_rnd_buffer_size<\/code><\/li>\n\n\n\n<li><code>sort_buffer_size<\/code><\/li>\n\n\n\n<li><code>join_buffer_size<\/code><\/li>\n\n\n\n<li><code>thread_stack<\/code><\/li>\n<\/ul>\n\n\n\n<p>Se o resultado dessa soma for maior que a sua RAM f\u00edsica dispon\u00edvel (descontando o que o SO usa), o <strong>OOM Killer MySQL<\/strong> \u00e9 apenas uma quest\u00e3o de tempo.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Parte 6: Mem\u00f3ria Swap \u2013 A Rede de Seguran\u00e7a<\/h2>\n\n\n\n<p>A aus\u00eancia de uma parti\u00e7\u00e3o Swap \u00e9 o caminho mais r\u00e1pido para o <strong>OOM Killer MySQL<\/strong>. O Swap \u00e9 um espa\u00e7o no disco que o Linux usa como &#8220;extens\u00e3o&#8221; da RAM. Embora o MySQL sofra uma queda dr\u00e1stica de performance se come\u00e7ar a fazer <em>swapping<\/em> (devido \u00e0 lentid\u00e3o do disco em compara\u00e7\u00e3o \u00e0 RAM), ter Swap evita que o processo seja morto imediatamente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Por que o Swap \u00e9 essencial?<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Evita o p\u00e2nico imediato:<\/strong> O kernel move p\u00e1ginas de mem\u00f3ria inativas (como processos de sistema pouco usados) para o disco, liberando RAM real para o MySQL.<\/li>\n\n\n\n<li><strong>Monitoramento:<\/strong> Se voc\u00ea notar que o uso de Swap est\u00e1 crescendo, voc\u00ea tem tempo de agir antes do <strong>OOM Killer MySQL<\/strong> ser acionado.<\/li>\n\n\n\n<li><strong>Veja o artigo:<\/strong> <strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/qual-deve-ser-o-tamanho-da-sua-particao-de-swap\/\" target=\"_blank\" rel=\"noreferrer noopener\">Qual deve ser o tamanho da sua parti\u00e7\u00e3o de swap?<\/a><\/strong><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Como criar um arquivo Swap rapidamente:<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo fallocate -l 2G \/swapfile\nsudo chmod 600 \/swapfile\nsudo mkswap \/swapfile\nsudo swapon \/swapfile<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">sudo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">fallocate<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">l<\/span><span style=\"color: #D8DEE9FF\"> 2<\/span><span style=\"color: #D8DEE9\">G<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">swapfile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">sudo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">chmod<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">600<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">swapfile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">sudo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">mkswap<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">swapfile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">sudo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">swapon<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">swapfile<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Parte 7: Otimiza\u00e7\u00e3o de Queries e Tabelas Tempor\u00e1rias<\/h2>\n\n\n\n<p>Muitas vezes, o <strong>OOM Killer MySQL<\/strong> n\u00e3o \u00e9 culpa de uma configura\u00e7\u00e3o errada, mas de uma query mal escrita. Quando voc\u00ea executa um <code>SELECT<\/code> complexo com <code>GROUP BY<\/code> ou <code>ORDER BY<\/code> em colunas sem \u00edndice, o MySQL cria uma <strong>tabela tempor\u00e1ria em mem\u00f3ria<\/strong>.<\/p>\n\n\n\n<p>Se essa tabela exceder o tamanho definido em <code>tmp_table_size<\/code> ou <code>max_heap_table_size<\/code>, o MySQL tentar\u00e1 convert\u00ea-la em uma tabela em disco. No entanto, o processo de gerenciamento dessa mem\u00f3ria durante a transi\u00e7\u00e3o pode causar um pico de consumo que atrai a aten\u00e7\u00e3o do <strong>OOM Killer MySQL<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Parte 8: Ajustes de Kernel e o par\u00e2metro <code>sysctl<\/code><\/h2>\n\n\n\n<p>Muitas vezes, a solu\u00e7\u00e3o para o <strong>OOM Killer MySQL<\/strong> n\u00e3o est\u00e1 dentro do <code>my.cnf<\/code>, mas sim nas entranhas do arquivo <code>\/etc\/sysctl.conf<\/code>. O Linux possui par\u00e2metros que controlam como ele lida com o esgotamento de mem\u00f3ria e o &#8220;overcommit&#8221;.<\/p>\n\n\n\n<p><strong>Veja o artigo:<\/strong> <strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/tuning-sysctl-producao-linux\/\">Tuning de sysctl para Produ\u00e7\u00e3o: Guia Definitivo de Performance Linux<\/a><\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O Par\u00e2metro <code>vm.swappiness<\/code><\/h3>\n\n\n\n<p>Este valor (de 0 a 100) define a agressividade com que o Linux move processos da RAM para o Swap.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Valor 10 a 60:<\/strong> Recomendado para a maioria dos servidores.<\/li>\n\n\n\n<li><strong>Valor 1:<\/strong> O kernel s\u00f3 usar\u00e1 o Swap em \u00faltimo caso, o que pode atrasar, mas n\u00e3o impedir o <strong>OOM Killer MySQL<\/strong>.<\/li>\n\n\n\n<li><strong>Valor 0:<\/strong> Pode causar p\u00e2nico no kernel em vers\u00f5es mais antigas.<\/li>\n<\/ul>\n\n\n\n<p>Para ajustar temporariamente: <code>sysctl -w vm.swappiness=10<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O Par\u00e2metro <code>vm.overcommit_memory<\/code><\/h3>\n\n\n\n<p>Este \u00e9 o &#8220;bot\u00e3o de p\u00e2nico&#8221;. Ele define se o kernel deve permitir que os processos pe\u00e7am mais mem\u00f3ria do que existe.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>0 (Heuristic):<\/strong> O padr\u00e3o. O kernel decide se aceita ou n\u00e3o.<\/li>\n\n\n\n<li><strong>2 (Don&#8217;t Overcommit):<\/strong> O kernel s\u00f3 permite aloca\u00e7\u00f5es dentro de um limite rigoroso (RAM + % do Swap). Isso evita o <strong>OOM Killer MySQL<\/strong> matando o processo, mas pode fazer com que o MySQL retorne erros de &#8220;Out of memory&#8221; internamente ao tentar iniciar ou alocar buffers.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Parte 9: Monitoramento Proativo (Evitando o Assassinato)<\/h2>\n\n\n\n<p>A melhor forma de lidar com o <strong>OOM Killer MySQL<\/strong> \u00e9 nunca deixar que ele precise agir. Para isso, o monitoramento visual \u00e9 indispens\u00e1vel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Prometheus e Grafana<\/h3>\n\n\n\n<p>Utilizar o <code>mysqld_exporter<\/code> junto ao Prometheus permite que voc\u00ea visualize o gr\u00e1fico de uso do <strong>InnoDB Buffer Pool<\/strong> versus a RAM livre do sistema. Se a linha de &#8220;Free RAM&#8221; estiver em tend\u00eancia de queda constante, voc\u00ea receber\u00e1 um alerta antes do crash.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Alertas de OOM no Slack\/Discord<\/h3>\n\n\n\n<p>Voc\u00ea pode criar um script simples que monitora o <code>dmesg<\/code> e envia um alerta imediato se o termo &#8220;Out of Memory&#8221; aparecer. Isso permite uma interven\u00e7\u00e3o manual (como o rein\u00edcio de servi\u00e7os secund\u00e1rios) antes que o banco caia.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Parte 10: Estrat\u00e9gias de Recupera\u00e7\u00e3o P\u00f3s-Incidente<\/h2>\n\n\n\n<p>Se o <strong>OOM Killer MySQL<\/strong> j\u00e1 aconteceu, a recupera\u00e7\u00e3o envolve mais do que apenas um <code>systemctl restart mysql<\/code>.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Verifica\u00e7\u00e3o de Integridade:<\/strong> O MySQL (especialmente com InnoDB) \u00e9 resiliente, mas quedas abruptas podem corromper tabelas tempor\u00e1rias ou exigir um longo tempo de <em>Crash Recovery<\/em> ao iniciar. Verifique o <code>error.log<\/code> durante o boot.<\/li>\n\n\n\n<li><strong>An\u00e1lise de Process List:<\/strong> Se o MySQL voltar e o uso de RAM subir rapidamente, use <code>SHOW FULL PROCESSLIST;<\/code> para identificar se h\u00e1 uma query &#8220;zumbi&#8221; ou um relat\u00f3rio pesado sendo gerado que est\u00e1 devorando os buffers.<\/li>\n\n\n\n<li><strong>Redimensionamento Vertical:<\/strong> Se o seu c\u00e1lculo de mem\u00f3ria (visto na Parte 5) mostrar que voc\u00ea est\u00e1 usando 95% da RAM em condi\u00e7\u00f5es normais, n\u00e3o h\u00e1 otimiza\u00e7\u00e3o que salve: voc\u00ea precisa de um upgrade de hardware para afastar o <strong>OOM Killer MySQL<\/strong>.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Parte 11: Otimiza\u00e7\u00e3o de Tabelas e Fragmenta\u00e7\u00e3o<\/h2>\n\n\n\n<p>A fragmenta\u00e7\u00e3o de tabelas pode causar um uso ineficiente do Buffer Pool. Quando voc\u00ea deleta muitos registros, o MySQL mant\u00e9m &#8220;buracos&#8221; nas p\u00e1ginas de dados. O Buffer Pool acaba carregando essas p\u00e1ginas meio vazias para a RAM, desperdi\u00e7ando espa\u00e7o precioso.<\/p>\n\n\n\n<p>Executar um <code>OPTIMIZE TABLE nome_da_tabela;<\/code> periodicamente (em hor\u00e1rios de baixo tr\u00e1fego) ajuda a compactar os dados no disco e, consequentemente, melhora a efici\u00eancia do uso da mem\u00f3ria, reduzindo a press\u00e3o que atrai o <strong>OOM Killer MySQL<\/strong>.<\/p>\n\n\n\n<p>Evitar o OOM Killer exige ajustes completos no sistema. Veja como melhorar a <strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/performance-de-servidores-linux\/\">performance do servidor Linux<\/a><\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o T\u00e9cnica: O Equil\u00edbrio entre Performance e Estabilidade<\/h2>\n\n\n\n<p>Dominar o <strong>OOM Killer MySQL<\/strong> exige uma compreens\u00e3o profunda de que o banco de dados n\u00e3o vive isolado; ele \u00e9 um inquilino no servidor Linux. Configurar o MySQL para usar toda a RAM dispon\u00edvel parece uma boa ideia para performance, mas \u00e9 um convite para o desastre em sistemas multitarefa.<\/p>\n\n\n\n<p>Manter uma margem de seguran\u00e7a de pelo menos 15% de RAM livre, configurar um Swap adequado e monitorar o <code>oom_score<\/code> dos seus processos s\u00e3o as colunas que sustentam um ambiente de produ\u00e7\u00e3o est\u00e1vel. Lembre-se: \u00e9 melhor uma query um pouco mais lenta devido ao limite de cache do que um banco de dados offline porque o kernel decidiu que ele era grande demais para sobreviver.<\/p>\n\n\n\n<p>Para evitar quedas e instabilidade, \u00e9 essencial otimizar o ambiente completo. Consulte o guia de <strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/performance-de-servidores-linux\/\">como otimizar servidores Linux<\/a><\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Resumo de Configura\u00e7\u00f5es Recomendadas para o <code>my.cnf<\/code>:<\/h3>\n\n\n\n<p><strong>Veja tamb\u00e9m o artigo:<a href=\"https:\/\/helpsysadmin.com.br\/blog\/tuning-mariadb-mysql-my-cnf-innodb\/\" target=\"_blank\" rel=\"noreferrer noopener\">Tuning MariaDB e MySQL: 5 Ajustes no my.cnf (Foco InnoDB)<\/a><\/strong>.<\/p>\n\n\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&#091;mysqld&#093;\n# Prote\u00e7\u00e3o contra OOM Killer MySQL\ninnodb_buffer_pool_size = 70% da RAM total\ninnodb_buffer_pool_instances = 8 (para reduzir conten\u00e7\u00e3o)\nmax_connections = 150 (ajuste conforme sua RAM)\nmax_heap_table_size = 64M\ntmp_table_size = 64M\n# Buffers por thread - Cuidado com estes!\nsort_buffer_size = 2M\njoin_buffer_size = 2M<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">&#091;<\/span><span style=\"color: #D8DEE9\">mysqld<\/span><span style=\"color: #D8DEE9FF\">&#093;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Prote\u00e7\u00e3o<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">contra<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">OOM<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Killer<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">MySQL<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">innodb_buffer_pool_size<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">70<\/span><span style=\"color: #81A1C1\">%<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">da<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">RAM<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">total<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">innodb_buffer_pool_instances<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">8<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #D8DEE9\">para<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">reduzir<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">conten\u00e7\u00e3o<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">max_connections<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">150<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #D8DEE9\">ajuste<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">conforme<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">sua<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">RAM<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">max_heap_table_size<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> 64<\/span><span style=\"color: #D8DEE9\">M<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">tmp_table_size<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> 64<\/span><span style=\"color: #D8DEE9\">M<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Buffers<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">por<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">thread<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Cuidado<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">com<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">estes<\/span><span style=\"color: #81A1C1\">!<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">sort_buffer_size<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> 2<\/span><span style=\"color: #D8DEE9\">M<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">join_buffer_size<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> 2<\/span><span style=\"color: #D8DEE9\">M<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o: O Equil\u00edbrio Vital entre MySQL e Kernel Linux<\/h2>\n\n\n\n<p>Chegamos ao fim deste mergulho profundo sobre o <strong>OOM Killer MySQL<\/strong>. Como vimos ao longo  deste guia, a queda de um banco de dados por falta de mem\u00f3ria raramente \u00e9 um evento aleat\u00f3rio; \u00e9 quase sempre o resultado final de uma configura\u00e7\u00e3o que ignorou os limites f\u00edsicos do hardware ou a natureza multitarefa do kernel Linux.<\/p>\n\n\n\n<p>O <strong>OOM Killer MySQL<\/strong> n\u00e3o deve ser visto como um &#8220;vil\u00e3o&#8221; ou um erro do sistema, mas sim como o \u00faltimo mecanismo de defesa de um sistema operacional que est\u00e1 tentando sobreviver. Sem ele, o servidor entraria em um estado de <em>kernel panic<\/em>, travando completamente e, potencialmente, causando corrup\u00e7\u00e3o de dados muito mais grave do que um simples encerramento de processo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Li\u00e7\u00f5es Aprendidas para o Administrador de Bancos de Dados<\/h3>\n\n\n\n<p>Para garantir que o seu ambiente de produ\u00e7\u00e3o seja resiliente, as li\u00e7\u00f5es fundamentais que discutimos podem ser resumidas em tr\u00eas pilares:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Respeito aos Limites de Hardware:<\/strong> Nunca configure o seu <code>innodb_buffer_pool_size<\/code> no limite m\u00e1ximo da RAM dispon\u00edvel. O MySQL precisa de &#8220;espa\u00e7o para respirar&#8221; para suas threads internas e o sistema operacional precisa de mem\u00f3ria para gerenciar I\/O e processos de rede.<\/li>\n\n\n\n<li><strong>Monitoramento \u00e9 Preven\u00e7\u00e3o:<\/strong> O uso de ferramentas como Prometheus, Grafana ou mesmo scripts simples de monitoramento de log permite que voc\u00ea identifique a aproxima\u00e7\u00e3o do <strong>OOM Killer MySQL<\/strong> horas ou dias antes de o evento ocorrer. A an\u00e1lise do <code>oom_score<\/code> \u00e9 um term\u00f4metro vital para a sa\u00fade do servidor.<\/li>\n\n\n\n<li><strong>Configura\u00e7\u00e3o de Redes de Seguran\u00e7a:<\/strong> O Swap, embora lento, \u00e9 essencial. Ajustar par\u00e2metros como <code>vm.swappiness<\/code> e <code>oom_score_adj<\/code> permite que voc\u00ea dite as regras do jogo para o kernel, protegendo o MySQL em momentos de pico de tr\u00e1fego.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">O Futuro da Gest\u00e3o de Mem\u00f3ria<\/h3>\n\n\n\n<p>Com a ascens\u00e3o de ambientes conteinerizados como Docker e Kubernetes, o <strong>OOM Killer MySQL<\/strong> ganha novos contornos. Em clusters de alta disponibilidade, o encerramento de um pod por limite de mem\u00f3ria (OOMKilled) \u00e9 um sinal claro de que os <em>limits<\/em> e <em>requests<\/em> do Kubernetes precisam de revis\u00e3o imediata. Independentemente da tecnologia, o princ\u00edpio permanece o mesmo: a mem\u00f3ria \u00e9 o recurso mais precioso e finito do seu servidor.<\/p>\n\n\n\n<p>Ao implementar as otimiza\u00e7\u00f5es de <code>my.cnf<\/code>, ajustar os par\u00e2metros de kernel no <code>sysctl<\/code> e manter uma rotina de an\u00e1lise de queries lentas, voc\u00ea transforma o seu servidor de uma &#8220;v\u00edtima em potencial&#8221; em uma fortaleza de dados. A estabilidade do seu <strong>OOM Killer MySQL<\/strong> n\u00e3o depende da sorte, mas de uma engenharia precisa e de uma vigil\u00e2ncia constante.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Check-list Final de Estabilidade<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>[ ] O <code>innodb_buffer_pool_size<\/code> est\u00e1 abaixo de 80% da RAM livre?<\/li>\n\n\n\n<li>[ ] O Swap est\u00e1 ativo e configurado corretamente?<\/li>\n\n\n\n<li>[ ] O log <code>dmesg<\/code> foi verificado para descartar incidentes passados?<\/li>\n\n\n\n<li>[ ] As queries que geram grandes tabelas tempor\u00e1rias foram otimizadas?<\/li>\n\n\n\n<li>[ ] O <code>max_connections<\/code> est\u00e1 condizente com a RAM dispon\u00edvel por thread?<\/li>\n<\/ul>\n\n\n\n<p>Seguindo este manual, voc\u00ea garante que o &#8220;matador de processos&#8221; do Linux nunca mais tenha motivos para escolher o seu banco de dados como alvo. A performance \u00e9 importante, mas a disponibilidade \u00e9 o que mant\u00e9m os neg\u00f3cios rodando.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-faq\">FAQ<\/h3>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1775597609034\"><strong class=\"schema-faq-question\">O que \u00e9 o OOM Killer?<\/strong> <p class=\"schema-faq-answer\">\u00c9 um mecanismo do kernel Linux que encerra processos para liberar mem\u00f3ria quando o sistema est\u00e1 em estado cr\u00edtico.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1775597648796\"><strong class=\"schema-faq-question\"><strong>Por que o OOM Killer escolhe o MySQL?<\/strong><\/strong> <p class=\"schema-faq-answer\">Devido ao alto consumo de RAM e ao tempo de atividade longo, o MySQL recebe um <code>oom_score<\/code> elevado.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1775597683692\"><strong class=\"schema-faq-question\">Como evitar o crash do MySQL por falta de mem\u00f3ria?<\/strong> <p class=\"schema-faq-answer\">Ajustando o <code>innodb_buffer_pool_size<\/code> e monitorando o consumo de buffers por conex\u00e3o.<\/p> <\/div> <\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-veja-mais\">Veja Mais:<\/h3>\n\n\n\n<p><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/performance-de-servidores-linux\/\" target=\"_blank\" rel=\"noreferrer noopener\">Performance de Servidores Linux: Guia Completo 2026<\/a><\/strong><br><strong><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/servidor-lento-identificar-gargalo-vps-dedicado-cloud\/\" target=\"_blank\" rel=\"noreferrer noopener\">Servidor Lento: Como Identificar o Gargalo<\/a><\/strong><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/io-de-disco-servidor-linux\/\">I\/O de disco servidor Linux: Como Resolver Gargalos<br><\/a><a href=\"https:\/\/helpsysadmin.com.br\/blog\/cpu-100-linux-o-que-verificar\/\">CPU 100% no Linux: O Que Verificar Primeiro no Servidor<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/usar-vmstat-para-achar-gargalo-linux\/\">Como Usar vmstat para Achar Gargalo no Linux em Minutos<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/load-average-linux-como-interpretar\/\">Load Average no Linux: Como Interpretar Corretamente<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/achar-gargalo-com-iostat\/\">Como Achar Gargalo com Iostat: Guia Definitivo e Pr\u00e1tico<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/iowait-alto-causas-reais\/\">Iowait Alto: Causas Reais e Solu\u00e7\u00f5es<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/swap-alto-com-ram-livre-linux\/\" target=\"_blank\" rel=\"noreferrer noopener\">Swap Alto com RAM Livre: Por Que Isso Acontece e como Resolver<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/tuning-sysctl-producao-linux\/\">Tuning de sysctl para Produ\u00e7\u00e3o: Guia Definitivo de Performance Linux<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/limits-conf-linux\/\">Como Ajustar limits.conf no Linux: Guia para Alta Performance<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/monitoramento-linux-vmstat-iostat-sar\/\">Guia Completo de Monitoramento Linux com vmstat, iostat e sar<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/memory-leak-linux-detectar-resolver\/\">Memory Leak Linux: Como Detectar e Corrigir<\/a><\/strong><br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-saiba-mais\">Saiba Mais:<\/h3>\n\n\n\n<p><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/no-space-left-on-device-com-espaco-livre\/\">No space left on device com espa\u00e7o livre? Como resolver (Guia Completo)<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/identificar-processo-consome-cpu-linux\/\">Como identificar processo que consome CPU no Linux (Guia Completo)<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/limitar-cpu-processo-linux-cgroups\/\">Como Limitar CPU por Processo no Linux com cgroups (Guia Completo)<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/upgrade-cpu-vs-otimizacao-servidor\/\">Upgrade de CPU ou Otimizar? Guia Completo<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/ram-cheia-no-linux-o-que-fazer\/\">RAM Cheia no Linux: O Guia Definitivo para Resolver Travamentos em 2026<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/buffers-e-cache-quando-sao-um-problema\/\">Buffers e Cache: Quando Deixam de Ajudar e Viram um Problema?<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/out-of-memory-causas-reais-solucoes\/\">Out of Memory (OOM): Causas Reais, Diagn\u00f3stico e Como Resolver<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/como-evitar-oom-killer-linux-producao\/\">Como evitar OOM Killer Linux em Produ\u00e7\u00e3o: Guia Definitivo 2026<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/gargalo-no-linux-cpu-vs-ram\/\">Gargalo no Linux: Como Identificar se o Problema \u00e9 CPU ou RAM?<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/disco-lento-no-linux-como-identificar\/\">Disco Lento no Linux: Guia Completo para Identificar e Resolver<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/latencia-de-disco-no-linux-alta\/\">Lat\u00eancia de Disco no Linux Alta: Causas, Diagn\u00f3stico e Solu\u00e7\u00f5es<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/limpar-cache-memoria-linux-guia-completo\/\">Como Limpar Cache de Mem\u00f3ria no Linux: O Guia Definitivo<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/testar-velocidade-disco-linux\/\" target=\"_blank\" rel=\"noreferrer noopener\">Como Testar Velocidade de Disco no Linux (Guia Completo)<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/performance-armazenamento-nvme-raid\/\" target=\"_blank\" rel=\"noreferrer noopener\">Performance de Armazenamento NVMe vs RAID: O Guia Definitivo 2026<\/a><\/strong><br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-saiba-mais-0\">Saiba Mais:<\/h3>\n\n\n\n<p><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/no-space-left-on-device-com-espaco-livre\/\">No space left on device com espa\u00e7o livre? Como resolver (Guia Completo)<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/identificar-processo-consome-cpu-linux\/\">Como identificar processo que consome CPU no Linux (Guia Completo)<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/limitar-cpu-processo-linux-cgroups\/\">Como Limitar CPU por Processo no Linux com cgroups (Guia Completo)<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/upgrade-cpu-vs-otimizacao-servidor\/\">Upgrade de CPU ou Otimizar? Guia Completo<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/ram-cheia-no-linux-o-que-fazer\/\">RAM Cheia no Linux: O Guia Definitivo para Resolver Travamentos em 2026<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/buffers-e-cache-quando-sao-um-problema\/\">Buffers e Cache: Quando Deixam de Ajudar e Viram um Problema?<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/out-of-memory-causas-reais-solucoes\/\">Out of Memory (OOM): Causas Reais, Diagn\u00f3stico e Como Resolver<\/a><\/strong><br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-saiba-mais-1\">Saiba Mais:<\/h3>\n\n\n\n<p><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/como-evitar-oom-killer-linux-producao\/\">Como evitar OOM Killer Linux em Produ\u00e7\u00e3o: Guia Definitivo 2026<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/gargalo-no-linux-cpu-vs-ram\/\">Gargalo no Linux: Como Identificar se o Problema \u00e9 CPU ou RAM?<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/disco-lento-no-linux-como-identificar\/\">Disco Lento no Linux: Guia Completo para Identificar e Resolver<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/latencia-de-disco-no-linux-alta\/\">Lat\u00eancia de Disco no Linux Alta: Causas, Diagn\u00f3stico e Solu\u00e7\u00f5es<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/limpar-cache-memoria-linux-guia-completo\/\">Como Limpar Cache de Mem\u00f3ria no Linux: O Guia Definitivo<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/testar-velocidade-disco-linux\/\" target=\"_blank\" rel=\"noreferrer noopener\">Como Testar Velocidade de Disco no Linux (Guia Completo)<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/performance-armazenamento-nvme-raid\/\" target=\"_blank\" rel=\"noreferrer noopener\">Performance de Armazenamento NVMe vs RAID: O Guia Definitivo 2026<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/reduzir-escrita-disco-linux\/\" target=\"_blank\" rel=\"noreferrer noopener\">Reduzir Escrita em Disco Linux: Guia Completo para Melhorar Performance<\/a><\/strong><br><strong><a href=\"https:\/\/helpsysadmin.com.br\/blog\/logs-consumindo-disco-linux-guia-limpeza\/\" target=\"_blank\" rel=\"noreferrer noopener\">Logs Consumindo Disco? Como Controlar e Limpar o Linux (Guia 2026)<\/a><\/strong><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introdu\u00e7\u00e3o: O Fantasma das Quedas Inesperadas No ecossistema de administra\u00e7\u00e3o de servidores Linux, poucos erros s\u00e3o t\u00e3o frustrantes quanto o encerramento inesperado [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":5467,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4195],"tags":[],"class_list":["post-5464","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-servidores-web-banco-de-dados"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados<\/title>\n<meta name=\"description\" content=\"O MySQL caiu? Saiba por que o OOM Killer do Linux encerra o processo do banco de dados, como analisar logs e as melhores estrat\u00e9gias de otimiza\u00e7\u00e3o de RAM.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados\" \/>\n<meta property=\"og:description\" content=\"O MySQL caiu? Saiba por que o OOM Killer do Linux encerra o processo do banco de dados, como analisar logs e as melhores estrat\u00e9gias de otimiza\u00e7\u00e3o de RAM.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog HelpSysAdmin\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-07T21:38:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-22T03:48:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mlkpd8g42nae.i.optimole.com\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/helpsysadmin.com.br\/blog\/wp-content\/uploads\/2026\/04\/oom_killer_mysql.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"655\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"HelpSysAdmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@brhelpsysad\" \/>\n<meta name=\"twitter:site\" content=\"@brhelpsysad\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/\"},\"author\":{\"name\":\"HelpSysAdmin\",\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/bdbe3d7d71a0c6a3cb474c18da574efb\"},\"headline\":\"OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados\",\"datePublished\":\"2026-04-07T21:38:51+00:00\",\"dateModified\":\"2026-04-22T03:48:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/\"},\"wordCount\":3038,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/helpsysadmin.com.br\\/blog\\/wp-content\\/uploads\\/2026\\/04\\/oom_killer_mysql.webp\",\"articleSection\":[\"Servidores Web e Banco de Dados\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#respond\"]}]},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/\",\"url\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/\",\"name\":\"OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/helpsysadmin.com.br\\/blog\\/wp-content\\/uploads\\/2026\\/04\\/oom_killer_mysql.webp\",\"datePublished\":\"2026-04-07T21:38:51+00:00\",\"dateModified\":\"2026-04-22T03:48:35+00:00\",\"description\":\"O MySQL caiu? Saiba por que o OOM Killer do Linux encerra o processo do banco de dados, como analisar logs e as melhores estrat\u00e9gias de otimiza\u00e7\u00e3o de RAM.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#faq-question-1775597609034\"},{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#faq-question-1775597648796\"},{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#faq-question-1775597683692\"}],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#primaryimage\",\"url\":\"https:\\/\\/helpsysadmin.com.br\\/blog\\/wp-content\\/uploads\\/2026\\/04\\/oom_killer_mysql.webp\",\"contentUrl\":\"https:\\/\\/helpsysadmin.com.br\\/blog\\/wp-content\\/uploads\\/2026\\/04\\/oom_killer_mysql.webp\",\"width\":1200,\"height\":655},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/\",\"name\":\"Blog HelpSysAdmin\",\"description\":\"Blog Gerenciamento de Servidor\",\"publisher\":{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/#organization\"},\"alternateName\":\"HelpSysAdmin Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/#organization\",\"name\":\"HelpSysAdmin Gerenciamento de Servidores\",\"alternateName\":\"HelpSysAdmin\",\"url\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\/\\/mlkpd8g42nae.i.optimole.com\\/w:512\\/h:512\\/q:mauto\\/f:best\\/https:\\/\\/helpsysadmin.com.br\\/blog\\/wp-content\\/uploads\\/2020\\/12\\/favicon.png\",\"contentUrl\":\"https:\\/\\/mlkpd8g42nae.i.optimole.com\\/w:512\\/h:512\\/q:mauto\\/f:best\\/https:\\/\\/helpsysadmin.com.br\\/blog\\/wp-content\\/uploads\\/2020\\/12\\/favicon.png\",\"width\":512,\"height\":512,\"caption\":\"HelpSysAdmin Gerenciamento de Servidores\"},\"image\":{\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/brhelpsysad\",\"https:\\\/\\\/mastodon.social\\\/@helpsysadmin\"],\"description\":\"Oferecemos o gerenciamento de servidores dedicados, vps ou cloud. Apresentamos a melhor experi\u00eancia em atendimento e servi\u00e7o. Nosso time cuidar\u00e1 do seu servidor com backups, an\u00e1lises constantes, ajustes de seguran\u00e7a, realiza\u00e7\u00e3o de manuten\u00e7\u00e3o preventiva e corretiva, otimiza\u00e7\u00e3o de performance al\u00e9m de monitoramento 24\u00d77 com suporte Pr\u00f3 Ativo.\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1\",\"maxValue\":\"10\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/bdbe3d7d71a0c6a3cb474c18da574efb\",\"name\":\"HelpSysAdmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\/\\/helpsysadmin.com.br\\/blog\\/wp-content\\/litespeed\\/avatar\\/e587d5e97a45d2f6f29b0179adc1ebf4.jpg?ver=1777855383\",\"url\":\"https:\\/\\/helpsysadmin.com.br\\/blog\\/wp-content\\/litespeed\\/avatar\\/e587d5e97a45d2f6f29b0179adc1ebf4.jpg?ver=1777855383\",\"contentUrl\":\"https:\\/\\/helpsysadmin.com.br\\/blog\\/wp-content\\/litespeed\\/avatar\\/e587d5e97a45d2f6f29b0179adc1ebf4.jpg?ver=1777855383\",\"caption\":\"HelpSysAdmin\"},\"sameAs\":[\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/\"]},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#faq-question-1775597609034\",\"position\":1,\"url\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#faq-question-1775597609034\",\"name\":\"O que \u00e9 o OOM Killer?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"\u00c9 um mecanismo do kernel Linux que encerra processos para liberar mem\u00f3ria quando o sistema est\u00e1 em estado cr\u00edtico.\",\"inLanguage\":\"pt-BR\"},\"inLanguage\":\"pt-BR\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#faq-question-1775597648796\",\"position\":2,\"url\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#faq-question-1775597648796\",\"name\":\"Por que o OOM Killer escolhe o MySQL?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Devido ao alto consumo de RAM e ao tempo de atividade longo, o MySQL recebe um oom_score elevado.\",\"inLanguage\":\"pt-BR\"},\"inLanguage\":\"pt-BR\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#faq-question-1775597683692\",\"position\":3,\"url\":\"https:\\\/\\\/helpsysadmin.com.br\\\/blog\\\/oom-killer-mysql-guia-sobrevivencia\\\/#faq-question-1775597683692\",\"name\":\"Como evitar o crash do MySQL por falta de mem\u00f3ria?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ajustando o innodb_buffer_pool_size e monitorando o consumo de buffers por conex\u00e3o.\",\"inLanguage\":\"pt-BR\"},\"inLanguage\":\"pt-BR\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados","description":"O MySQL caiu? Saiba por que o OOM Killer do Linux encerra o processo do banco de dados, como analisar logs e as melhores estrat\u00e9gias de otimiza\u00e7\u00e3o de RAM.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/","og_locale":"pt_BR","og_type":"article","og_title":"OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados","og_description":"O MySQL caiu? Saiba por que o OOM Killer do Linux encerra o processo do banco de dados, como analisar logs e as melhores estrat\u00e9gias de otimiza\u00e7\u00e3o de RAM.","og_url":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/","og_site_name":"Blog HelpSysAdmin","article_published_time":"2026-04-07T21:38:51+00:00","article_modified_time":"2026-04-22T03:48:35+00:00","og_image":[{"width":1200,"height":655,"url":"https:\/\/mlkpd8g42nae.i.optimole.com\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/helpsysadmin.com.br\/blog\/wp-content\/uploads\/2026\/04\/oom_killer_mysql.webp","type":"image\/webp"}],"author":"HelpSysAdmin","twitter_card":"summary_large_image","twitter_creator":"@brhelpsysad","twitter_site":"@brhelpsysad","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#article","isPartOf":{"@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/"},"author":{"name":"HelpSysAdmin","@id":"https:\/\/helpsysadmin.com.br\/blog\/#\/schema\/person\/bdbe3d7d71a0c6a3cb474c18da574efb"},"headline":"OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados","datePublished":"2026-04-07T21:38:51+00:00","dateModified":"2026-04-22T03:48:35+00:00","mainEntityOfPage":{"@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/"},"wordCount":3038,"commentCount":0,"publisher":{"@id":"https:\/\/helpsysadmin.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#primaryimage"},"thumbnailUrl":"https:\/\/mlkpd8g42nae.i.optimole.com\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/helpsysadmin.com.br\/blog\/wp-content\/uploads\/2026\/04\/oom_killer_mysql.webp","articleSection":["Servidores Web e Banco de Dados"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#respond"]}]},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/","url":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/","name":"OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados","isPartOf":{"@id":"https:\/\/helpsysadmin.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#primaryimage"},"image":{"@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#primaryimage"},"thumbnailUrl":"https:\/\/mlkpd8g42nae.i.optimole.com\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/helpsysadmin.com.br\/blog\/wp-content\/uploads\/2026\/04\/oom_killer_mysql.webp","datePublished":"2026-04-07T21:38:51+00:00","dateModified":"2026-04-22T03:48:35+00:00","description":"O MySQL caiu? Saiba por que o OOM Killer do Linux encerra o processo do banco de dados, como analisar logs e as melhores estrat\u00e9gias de otimiza\u00e7\u00e3o de RAM.","breadcrumb":{"@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#faq-question-1775597609034"},{"@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#faq-question-1775597648796"},{"@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#faq-question-1775597683692"}],"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#primaryimage","url":"https:\/\/mlkpd8g42nae.i.optimole.com\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/helpsysadmin.com.br\/blog\/wp-content\/uploads\/2026\/04\/oom_killer_mysql.webp","contentUrl":"https:\/\/mlkpd8g42nae.i.optimole.com\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/helpsysadmin.com.br\/blog\/wp-content\/uploads\/2026\/04\/oom_killer_mysql.webp","width":1200,"height":655},{"@type":"BreadcrumbList","@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/helpsysadmin.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados"}]},{"@type":"WebSite","@id":"https:\/\/helpsysadmin.com.br\/blog\/#website","url":"https:\/\/helpsysadmin.com.br\/blog\/","name":"Blog HelpSysAdmin","description":"Blog Gerenciamento de Servidor","publisher":{"@id":"https:\/\/helpsysadmin.com.br\/blog\/#organization"},"alternateName":"HelpSysAdmin Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/helpsysadmin.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/helpsysadmin.com.br\/blog\/#organization","name":"HelpSysAdmin Gerenciamento de Servidores","alternateName":"HelpSysAdmin","url":"https:\/\/helpsysadmin.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/helpsysadmin.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/mlkpd8g42nae.i.optimole.com\/w:512\/h:512\/q:mauto\/f:best\/https:\/\/helpsysadmin.com.br\/blog\/wp-content\/uploads\/2020\/12\/favicon.png","contentUrl":"https:\/\/mlkpd8g42nae.i.optimole.com\/w:512\/h:512\/q:mauto\/f:best\/https:\/\/helpsysadmin.com.br\/blog\/wp-content\/uploads\/2020\/12\/favicon.png","width":512,"height":512,"caption":"HelpSysAdmin Gerenciamento de Servidores"},"image":{"@id":"https:\/\/helpsysadmin.com.br\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/brhelpsysad","https:\/\/mastodon.social\/@helpsysadmin"],"description":"Oferecemos o gerenciamento de servidores dedicados, vps ou cloud. Apresentamos a melhor experi\u00eancia em atendimento e servi\u00e7o. Nosso time cuidar\u00e1 do seu servidor com backups, an\u00e1lises constantes, ajustes de seguran\u00e7a, realiza\u00e7\u00e3o de manuten\u00e7\u00e3o preventiva e corretiva, otimiza\u00e7\u00e3o de performance al\u00e9m de monitoramento 24\u00d77 com suporte Pr\u00f3 Ativo.","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1","maxValue":"10"}},{"@type":"Person","@id":"https:\/\/helpsysadmin.com.br\/blog\/#\/schema\/person\/bdbe3d7d71a0c6a3cb474c18da574efb","name":"HelpSysAdmin","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/mlkpd8g42nae.i.optimole.com\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/helpsysadmin.com.br\/blog\/wp-content\/litespeed\/avatar\/e587d5e97a45d2f6f29b0179adc1ebf4.jpg?ver=1777855383","url":"https:\/\/mlkpd8g42nae.i.optimole.com\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/helpsysadmin.com.br\/blog\/wp-content\/litespeed\/avatar\/e587d5e97a45d2f6f29b0179adc1ebf4.jpg?ver=1777855383","contentUrl":"https:\/\/mlkpd8g42nae.i.optimole.com\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/helpsysadmin.com.br\/blog\/wp-content\/litespeed\/avatar\/e587d5e97a45d2f6f29b0179adc1ebf4.jpg?ver=1777855383","caption":"HelpSysAdmin"},"sameAs":["https:\/\/helpsysadmin.com.br\/blog\/"]},{"@type":"Question","@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#faq-question-1775597609034","position":1,"url":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#faq-question-1775597609034","name":"O que \u00e9 o OOM Killer?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"\u00c9 um mecanismo do kernel Linux que encerra processos para liberar mem\u00f3ria quando o sistema est\u00e1 em estado cr\u00edtico.","inLanguage":"pt-BR"},"inLanguage":"pt-BR"},{"@type":"Question","@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#faq-question-1775597648796","position":2,"url":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#faq-question-1775597648796","name":"Por que o OOM Killer escolhe o MySQL?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Devido ao alto consumo de RAM e ao tempo de atividade longo, o MySQL recebe um oom_score elevado.","inLanguage":"pt-BR"},"inLanguage":"pt-BR"},{"@type":"Question","@id":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#faq-question-1775597683692","position":3,"url":"https:\/\/helpsysadmin.com.br\/blog\/oom-killer-mysql-guia-sobrevivencia\/#faq-question-1775597683692","name":"Como evitar o crash do MySQL por falta de mem\u00f3ria?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Ajustando o innodb_buffer_pool_size e monitorando o consumo de buffers por conex\u00e3o.","inLanguage":"pt-BR"},"inLanguage":"pt-BR"}]}},"lang":"pt","translations":{"pt":5464},"pll_sync_post":{},"_links":{"self":[{"href":"https:\/\/helpsysadmin.com.br\/blog\/wp-json\/wp\/v2\/posts\/5464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helpsysadmin.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helpsysadmin.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helpsysadmin.com.br\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/helpsysadmin.com.br\/blog\/wp-json\/wp\/v2\/comments?post=5464"}],"version-history":[{"count":26,"href":"https:\/\/helpsysadmin.com.br\/blog\/wp-json\/wp\/v2\/posts\/5464\/revisions"}],"predecessor-version":[{"id":6436,"href":"https:\/\/helpsysadmin.com.br\/blog\/wp-json\/wp\/v2\/posts\/5464\/revisions\/6436"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helpsysadmin.com.br\/blog\/wp-json\/wp\/v2\/media\/5467"}],"wp:attachment":[{"href":"https:\/\/helpsysadmin.com.br\/blog\/wp-json\/wp\/v2\/media?parent=5464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helpsysadmin.com.br\/blog\/wp-json\/wp\/v2\/categories?post=5464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helpsysadmin.com.br\/blog\/wp-json\/wp\/v2\/tags?post=5464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}