{"id":2446,"date":"2026-08-24T17:45:10","date_gmt":"2026-08-24T20:45:10","guid":{"rendered":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/"},"modified":"2026-08-24T17:45:10","modified_gmt":"2026-08-24T20:45:10","slug":"aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl","status":"publish","type":"post","link":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/","title":{"rendered":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl"},"content":{"rendered":"<p>O <strong>tuning de performance<\/strong> \u00e9 a arte e a ci\u00eancia de extrair o m\u00e1ximo de um sistema Linux ajustando par\u00e2metros de kernel, subsistemas de mem\u00f3ria, rede e I\/O sem adicionar hardware. Ao contr\u00e1rio do que muitos imaginam, o kernel Linux j\u00e1 vem com valores padr\u00e3o extremamente conservadores. Esses padr\u00f5es s\u00e3o escolhidos para funcionar bem na maior variedade poss\u00edvel de cen\u00e1rios, mas raramente s\u00e3o ideais para servidores de banco de dados, gateways de rede, ambientes virtualizados ou workloads com alto volume de conex\u00f5es simult\u00e2neas. Nesta aula, vamos mergulhar fundo no mecanismo <strong>sysctl<\/strong>, entender como o kernel exp\u00f5e seus par\u00e2metros em tempo de execu\u00e7\u00e3o e como tornar as altera\u00e7\u00f5es persistentes entre reinicializa\u00e7\u00f5es no Ubuntu, Debian, CentOS, Rocky Linux e derivados RHEL.<\/p>\n<p>O termo <strong>sysctl<\/strong> refere-se tanto a uma interface de sistema quanto a um comando utilit\u00e1rio. Ele permite visualizar e modificar par\u00e2metros do kernel em execu\u00e7\u00e3o, sem necessidade de reiniciar a m\u00e1quina. Esses par\u00e2metros ficam dispon\u00edveis no pseudo-filesystem <strong>\/proc\/sys<\/strong>. Quando voc\u00ea ajusta, por exemplo, o <strong>vm.swappiness<\/strong> para reduzir o uso de swap, est\u00e1 alterando uma vari\u00e1vel que o kernel consulta constantemente durante a aloca\u00e7\u00e3o de mem\u00f3ria. Esse tipo de ajuste \u00e9 imediato, mas vol\u00e1til: desaparece ap\u00f3s um reboot, a menos que voc\u00ea o registre em arquivos de configura\u00e7\u00e3o apropriados. Aqui voc\u00ea aprender\u00e1 exatamente como fazer isso de forma segura, test\u00e1vel e revers\u00edvel.<\/p>\n<p>Ao final desta aula, voc\u00ea ter\u00e1 um fluxo de trabalho completo e profissional para <strong>tuning de performance<\/strong>. Come\u00e7aremos pela base te\u00f3rica, passando pela explora\u00e7\u00e3o dos par\u00e2metros existentes, identifica\u00e7\u00e3o de gargalos, ajustes de mem\u00f3ria, rede e I\/O, e finalizaremos com testes de verifica\u00e7\u00e3o e solu\u00e7\u00e3o de erros comuns. Todos os procedimentos foram validados em laborat\u00f3rio com servidores reais, em projetos de infraestrutura executados pela nossa equipe de engenharia. Em nossos projetos na JRT Technology Solutions, nossos especialistas utilizam diariamente os procedimentos que voc\u00ea ver\u00e1 a seguir para estabilizar ambientes de produ\u00e7\u00e3o sob alta carga.<\/p>\n<p>Voc\u00ea vai perceber que <strong>tuning de performance<\/strong> n\u00e3o \u00e9 uma ci\u00eancia exata. Um ajuste que acelera um servidor web pode degradar um servidor de banco de dados. Por isso, cada se\u00e7\u00e3o desta aula enfatiza o contexto, o teste e a verifica\u00e7\u00e3o. Nada de aplicar receitas cegas. Ao concluir, voc\u00ea saber\u00e1 n\u00e3o apenas <em>o que<\/em> alterar, mas <em>por que<\/em> alterar, <em>quando<\/em> alterar e <em>como<\/em> reverter se algo sair do esperado.<\/p>\n<h3>O que voc\u00ea vai aprender nesta aula<\/h3>\n<ul>\n<li><strong>Explorar<\/strong> a \u00e1rvore <strong>\/proc\/sys<\/strong> e entender sua rela\u00e7\u00e3o com o kernel em tempo de execu\u00e7\u00e3o;<\/li>\n<li><strong>Utilizar<\/strong> o comando <strong>sysctl<\/strong> para leitura, escrita e persist\u00eancia de par\u00e2metros;<\/li>\n<li><strong>Configurar<\/strong> corretamente os arquivos <strong>\/etc\/sysctl.conf<\/strong> e <strong>\/etc\/sysctl.d\/*.conf<\/strong> em distribui\u00e7\u00f5es Debian\/Ubuntu e RHEL\/CentOS\/Rocky;<\/li>\n<li><strong>Identificar<\/strong> gargalos de performance em mem\u00f3ria, rede, CPU e disco antes de sair alterando valores;<\/li>\n<li><strong>Ajustar<\/strong> o <strong>vm.swappiness<\/strong>, <strong>vm.dirty_ratio<\/strong>, <strong>vm.vfs_cache_pressure<\/strong> e outros par\u00e2metros cr\u00edticos de mem\u00f3ria;<\/li>\n<li><strong>Aplicar<\/strong> ajustes avan\u00e7ados de rede como <strong>net.core.somaxconn<\/strong>, <strong>net.ipv4.tcp_fin_timeout<\/strong> e <strong>net.ipv4.ip_local_port_range<\/strong>;<\/li>\n<li><strong>Verificar<\/strong> a aplica\u00e7\u00e3o de cada ajuste com comandos de inspe\u00e7\u00e3o e interpretar as sa\u00eddas;<\/li>\n<li><strong>Resolver<\/strong> os erros mais frequentes em ambientes de produ\u00e7\u00e3o que envolvem tuning de kernel.<\/li>\n<\/ul>\n<h3>Pr\u00e9-requisitos e Ambiente<\/h3>\n<p>Antes de iniciar esta aula, voc\u00ea precisa ter acesso root ou privil\u00e9gios de sudo em uma m\u00e1quina Linux. Recomendamos fortemente que voc\u00ea execute os procedimentos em uma VM dedicada ou cont\u00eainer com snapshot, pois alguns par\u00e2metros podem causar instabilidade se aplicados incorretamente. O ambiente m\u00ednimo para acompanhar esta aula inclui:<\/p>\n<ul>\n<li>Ubuntu 22.04 LTS ou Debian 12 (ou superiores);<\/li>\n<li>CentOS Stream 9 ou Rocky Linux 9 (para cobertura RHEL);<\/li>\n<li>Conhecimento b\u00e1sico de shell, edi\u00e7\u00e3o de arquivos com <strong>nano<\/strong> ou <strong>vi<\/strong>;<\/li>\n<li>Entendimento dos conceitos de mem\u00f3ria RAM, swap, sockets TCP e I\/O de disco, vistos nas aulas anteriores;<\/li>\n<li>Acesso \u00e0 internet opcional, para consulta de documenta\u00e7\u00e3o do kernel;<\/li>\n<li>Pelo menos 2 GB de RAM e 2 vCPUs para observar efeitos pr\u00e1ticos dos ajustes.<\/li>\n<\/ul>\n<p>Se voc\u00ea n\u00e3o tem uma VM dispon\u00edvel, pode usar qualquer inst\u00e2ncia cloud. A JRT Technology Solutions oferece treinamentos e implementa\u00e7\u00e3o em Linux, e nossos laborat\u00f3rios costumam usar exatamente as vers\u00f5es citadas acima. Ter um ambiente descart\u00e1vel \u00e9 a regra de ouro: voc\u00ea vai alterar par\u00e2metros que impactam o kernel e precisa garantir que pode recome\u00e7ar do zero se algo der errado.<\/p>\n<h3>Fundamentos de Tuning de Performance no Linux<\/h3>\n<p>O kernel Linux \u00e9 monol\u00edtico, mas altamente modular em seu comportamento. Ele exp\u00f5e centenas de par\u00e2metros ajust\u00e1veis em tempo real por meio do pseudo-filesystem <strong>\/proc\/sys<\/strong>. A ideia central do <strong>tuning de performance<\/strong> \u00e9 alinhar o comportamento do kernel com o perfil de uso do sistema. Por exemplo, um servidor web com milhares de conex\u00f5es curtas se beneficia de um timeout de conex\u00e3o menor e de buffers maiores, enquanto um servidor de banco de dados com poucas conex\u00f5es longas pode preferir o oposto. N\u00e3o existe configura\u00e7\u00e3o universal: existe configura\u00e7\u00e3o adequada ao workload.<\/p>\n<p>Os par\u00e2metros s\u00e3o organizados em diret\u00f3rios que representam subsistemas. O diret\u00f3rio <strong>\/proc\/sys\/vm<\/strong> cont\u00e9m ajustes de gerenciamento de mem\u00f3ria virtual. O diret\u00f3rio <strong>\/proc\/sys\/net<\/strong> cont\u00e9m ajustes de rede. O diret\u00f3rio <strong>\/proc\/sys\/fs<\/strong> cont\u00e9m ajustes de file system e I\/O. E o diret\u00f3rio <strong>\/proc\/sys\/kernel<\/strong> cont\u00e9m ajustes gerais do kernel, como limites de fila e par\u00e2metros de processos. Cada arquivo nesses diret\u00f3rios representa uma vari\u00e1vel do kernel que pode ser lida com <strong>cat<\/strong> e, na maioria dos casos, escrita com <strong>echo<\/strong> ou com o utilit\u00e1rio <strong>sysctl<\/strong>.<\/p>\n<p>\u00c9 importante entender a diferen\u00e7a entre altera\u00e7\u00e3o vol\u00e1til e persistente. Quando voc\u00ea executa <strong>sysctl -w vm.swappiness=10<\/strong>, o valor muda imediatamente, mas volta ao padr\u00e3o no pr\u00f3ximo boot. Para persistir, voc\u00ea deve incluir a linha <strong>vm.swappiness=10<\/strong> em um arquivo em <strong>\/etc\/sysctl.d\/<\/strong> ou no arquivo <strong>\/etc\/sysctl.conf<\/strong>, dependendo da distribui\u00e7\u00e3o. O comando <strong>sysctl &#8211;system<\/strong> aplica todas as configura\u00e7\u00f5es persistentes, enquanto <strong>sysctl -a<\/strong> lista todas as vari\u00e1veis dispon\u00edveis. Essa distin\u00e7\u00e3o \u00e9 o alicerce de qualquer rotina profissional de <strong>tuning de performance<\/strong>.<\/p>\n<p>Outro conceito essencial \u00e9 o de benchmark e linha de base. Antes de alterar qualquer par\u00e2metro, voc\u00ea precisa medir o estado atual do sistema. Ferramentas como <strong>top<\/strong>, <strong>htop<\/strong>, <strong>vmstat<\/strong>, <strong>iostat<\/strong>, <strong>free<\/strong>, <strong>ss<\/strong> e <strong>sar<\/strong> s\u00e3o aliadas indispens\u00e1veis. Sem uma medi\u00e7\u00e3o de refer\u00eancia, voc\u00ea n\u00e3o saber\u00e1 se o ajuste melhorou ou piorou o desempenho. Em nossos projetos na JRT Technology Solutions, estabelecemos um mantra: medir, ajustar, medir novamente. Isso evita altera\u00e7\u00f5es baseadas em achismos que depois se revelam prejudiciais.<\/p>\n<p>Por fim, saiba que nem todo par\u00e2metro aceita qualquer valor. Alguns exigem valores booleanos (0 ou 1), outros inteiros, outros faixas espec\u00edficas. Toda vez que voc\u00ea for ajustar um par\u00e2metro, consulte a documenta\u00e7\u00e3o do kernel para entender o tipo e o impacto. Vamos abordar os mais utilizados e seguros, com faixas bem definidas e efeitos previs\u00edveis.<\/p>\n<h3>O Sistema sysctl e o Diret\u00f3rio \/proc\/sys<\/h3>\n<p>O comando <strong>sysctl<\/strong> \u00e9 a interface principal para consultar e modificar par\u00e2metros do kernel. Sua sintaxe b\u00e1sica para leitura \u00e9 <strong>sysctl parametro<\/strong> e para escrita \u00e9 <strong>sysctl -w parametro=valor<\/strong>. Por exemplo, para verificar o tamanho m\u00e1ximo da fila de conex\u00f5es pendentes, use <strong>sysctl net.core.somaxconn<\/strong>. Para alter\u00e1-lo para 65535, execute <strong>sysctl -w net.core.somaxconn=65535<\/strong>. A resposta imediata do comando confirma o novo valor.<\/p>\n<p>O diret\u00f3rio <strong>\/proc\/sys<\/strong> \u00e9 montado automaticamente pelo kernel e n\u00e3o existe fisicamente em disco. Cada arquivo ali corresponde a um par\u00e2metro. Voc\u00ea pode ler diretamente com <strong>cat \/proc\/sys\/net\/core\/somaxconn<\/strong> e obter o mesmo resultado de <strong>sysctl net.core.somaxconn<\/strong>. A grande vantagem do <strong>sysctl<\/strong> \u00e9 a sintaxe simplificada com pontos, em vez de barras, e a possibilidade de carregar m\u00faltiplas configura\u00e7\u00f5es de uma s\u00f3 vez com <strong>sysctl -p<\/strong> ou <strong>sysctl &#8211;system<\/strong>.<\/p>\n<p>Existem centenas de par\u00e2metros, mas n\u00e3o se assuste. Na pr\u00e1tica, os administradores lidam com algumas dezenas de ajustes relevantes para <strong>tuning de performance<\/strong>. A \u00e1rvore mais importante inclui <strong>vm.swappiness<\/strong>, <strong>vm.dirty_ratio<\/strong>, <strong>vm.dirty_background_ratio<\/strong>, <strong>vm.vfs_cache_pressure<\/strong>, <strong>net.core.somaxconn<\/strong>, <strong>net.core.netdev_max_backlog<\/strong>, <strong>net.ipv4.tcp_fin_timeout<\/strong>, <strong>net.ipv4.tcp_tw_reuse<\/strong>, <strong>net.ipv4.ip_local_port_range<\/strong>, <strong>fs.file-max<\/strong> e <strong>kernel.pid_max<\/strong>. Vamos explorar cada um com profundidade nas pr\u00f3ximas se\u00e7\u00f5es.<\/p>\n<p>Uma observa\u00e7\u00e3o importante: a localiza\u00e7\u00e3o dos arquivos de configura\u00e7\u00e3o persistente varia entre distribui\u00e7\u00f5es. Em Ubuntu e Debian, o diret\u00f3rio <strong>\/etc\/sysctl.d\/<\/strong> \u00e9 o local preferido, e o arquivo <strong>\/etc\/sysctl.conf<\/strong> ainda \u00e9 lido. Em CentOS, Rocky Linux e RHEL, o diret\u00f3rio <strong>\/etc\/sysctl.d\/<\/strong> tamb\u00e9m \u00e9 suportado, e o arquivo <strong>\/etc\/sysctl.conf<\/strong> \u00e9 o padr\u00e3o. A ordem de leitura segue a ordem alfab\u00e9tica dos arquivos dentro de <strong>\/etc\/sysctl.d\/<\/strong>, e o arquivo <strong>99-sysctl.conf<\/strong> normalmente aponta para <strong>\/etc\/sysctl.conf<\/strong>. Vamos usar como boa pr\u00e1tica criar um arquivo dedicado, como <strong>\/etc\/sysctl.d\/90-tuning.conf<\/strong>, para organizar nossos ajustes.<\/p>\n<h3>Identificando Gargalos de Performance Antes de Tunar<\/h3>\n<p>Aplicar <strong>tuning de performance<\/strong> sem diagn\u00f3stico \u00e9 como trocar o \u00f3leo do carro sem verificar se o problema \u00e9 na igni\u00e7\u00e3o. Antes de alterar qualquer par\u00e2metro, voc\u00ea deve coletar m\u00e9tricas do sistema para identificar o gargalo. Comece com o comando <strong>free -h<\/strong> para ver mem\u00f3ria total, usada, livre, cache e swap. Se o sistema est\u00e1 usando swap mesmo com mem\u00f3ria livre dispon\u00edvel, o <strong>vm.swappiness<\/strong> provavelmente est\u00e1 alto demais para o seu cen\u00e1rio. Se o cache est\u00e1 consumindo toda a RAM, mas isso n\u00e3o \u00e9 necessariamente ruim, pois o kernel libera cache sob press\u00e3o.<\/p>\n<p>Em seguida, use <strong>vmstat 1 10<\/strong> para observar atividade de CPU, mem\u00f3ria, processos bloqueados e swap em tempo real. As colunas <strong>si<\/strong> e <strong>so<\/strong> mostram swap in e swap out. Valores constantemente altos indicam press\u00e3o de mem\u00f3ria e necessidade de mais RAM ou de ajuste do swappiness. A coluna <strong>procs b<\/strong> mostra processos bloqueados aguardando I\/O; se esse n\u00famero est\u00e1 sempre alto, o gargalo \u00e9 de disco. A coluna <strong>wa<\/strong> no <strong>top<\/strong> tamb\u00e9m indica tempo de CPU aguardando I\/O.<\/p>\n<p>Para rede, use <strong>ss -s<\/strong> para resumo de sockets e <strong>ss -tan<\/strong> para listar conex\u00f5es TCP ativas. Se voc\u00ea observar muitos sockets em estado <strong>TIME_WAIT<\/strong>, o servidor est\u00e1 lidando com muitas conex\u00f5es curtas e pode se beneficiar de ajustes como <strong>net.ipv4.tcp_tw_reuse<\/strong> e redu\u00e7\u00e3o do <strong>tcp_fin_timeout<\/strong>. Se voc\u00ea vir conex\u00f5es sendo descartadas ou filas estouradas, verifique <strong>net.core.somaxconn<\/strong> e <strong>net.core.netdev_max_backlog<\/strong>. Use <strong>netstat -s<\/strong> para estat\u00edsticas detalhadas de protocolos e procure por incrementos de erros.<\/p>\n<p>Para I\/O de disco, o comando <strong>iostat -x 1 10<\/strong> (do pacote <strong>sysstat<\/strong>) fornece m\u00e9tricas por dispositivo, incluindo <strong>await<\/strong> (tempo m\u00e9dio de espera por requisi\u00e7\u00e3o) e <strong>%util<\/strong> (porcentagem de utiliza\u00e7\u00e3o). Valores de <strong>%util<\/strong> pr\u00f3ximos de 100% indicam disco saturado. O comando <strong>dmesg | tail -50<\/strong> pode revelar erros de disco ou rede no kernel. Por fim, o <strong>sar -r 1 10<\/strong> \u00e9 excelente para mem\u00f3ria e o <strong>sar -n DEV 1 10<\/strong> para throughput de rede. Colete pelo menos 10 segundos de cada m\u00e9trica antes de iniciar os ajustes.<\/p>\n<h3>Passo a Passo \u2014 Tuning de Performance com sysctl<\/h3>\n<p>Agora que voc\u00ea entendeu a base e identificou seus gargalos, vamos executar um fluxo completo de <strong>tuning de performance<\/strong> usando o comando <strong>sysctl<\/strong>. Mostraremos cada comando com coment\u00e1rios e a sa\u00edda esperada. O procedimento foi validado em Ubuntu 22.04 e Rocky Linux 9. Siga cada passo na ordem apresentada.<\/p>\n<ol>\n<li><strong>Verifique a vers\u00e3o do kernel e da distribui\u00e7\u00e3o:<\/strong> execute <strong>uname -r<\/strong> e <strong>cat \/etc\/os-release<\/strong>. Isso confirma que voc\u00ea est\u00e1 em um ambiente compat\u00edvel e ajuda a consultar a documenta\u00e7\u00e3o correta do kernel.<\/li>\n<li><strong>Liste todos os par\u00e2metros dispon\u00edveis com <strong>sysctl -a<\/strong><\/strong>. A sa\u00edda \u00e9 longa, ent\u00e3o filtre com <strong>grep<\/strong>. Por exemplo, <strong>sysctl -a | grep vm.swappiness<\/strong> para ver o valor atual.<\/li>\n<li><strong>Altere um par\u00e2metro em tempo real:<\/strong> use <strong>sysctl -w vm.swappiness=10<\/strong>. O comando deve ecoar o novo valor, confirmando a mudan\u00e7a.<\/li>\n<li><strong>Confirme a leitura direta no \/proc\/sys:<\/strong> execute <strong>cat \/proc\/sys\/vm\/swappiness<\/strong>. A sa\u00edda deve ser <strong>10<\/strong>.<\/li>\n<li><strong>Teste a persist\u00eancia criando um arquivo de configura\u00e7\u00e3o:<\/strong> crie o arquivo <strong>\/etc\/sysctl.d\/90-tuning.conf<\/strong> com seus ajustes (mostraremos o conte\u00fado completo na pr\u00f3xima se\u00e7\u00e3o).<\/li>\n<li><strong>Aplique as configura\u00e7\u00f5es persistentes:<\/strong> execute <strong>sysctl &#8211;system<\/strong>. Isso recarrega todos os arquivos de configura\u00e7\u00e3o, incluindo o seu novo arquivo.<\/li>\n<li><strong>Verifique se o valor sobreviveu \u00e0 recarga:<\/strong> execute <strong>sysctl vm.swappiness<\/strong> e compare com o valor definido no arquivo.<\/li>\n<li><strong>Reinicie o sistema ou, pelo menos, valide o comportamento dos par\u00e2metros em diferentes cargas.<\/strong> Em produ\u00e7\u00e3o, n\u00e3o reinicie se n\u00e3o puder. Em laborat\u00f3rio, reinicie para confirmar a persist\u00eancia.<\/li>\n<\/ol>\n<p>O bloco de comandos abaixo mostra o fluxo completo em um sistema Ubuntu ou Rocky. Coment\u00e1rios explicam cada etapa.<\/p>\n<pre><code># 1. Confirmar ambiente\nuname -r                                 # Exibe a vers\u00e3o do kernel\ncat \/etc\/os-release | head -5            # Mostra distribui\u00e7\u00e3o e vers\u00e3o\n\n# 2. Consultar valor atual do swappiness\nsysctl vm.swappiness                     # Sa\u00edda esperada: vm.swappiness = 60\n\n# 3. Alterar swappiness em tempo real\nsysctl -w vm.swappiness=10               # Sa\u00edda esperada: vm.swappiness = 10\n\n# 4. Confirmar via \/proc\/sys\ncat \/proc\/sys\/vm\/swappiness              # Sa\u00edda esperada: 10\n\n# 5. Criar arquivo de tuning persistente\nsudo tee \/etc\/sysctl.d\/90-tuning.conf &lt;&lt;'EOF'\n# Arquivo de tuning de performance\nvm.swappiness=10\nvm.dirty_ratio=15\nvm.dirty_background_ratio=5\nEOF\n\n# 6. Recarregar todas as configura\u00e7\u00f5es\nsudo sysctl --system                     # Aplica \/etc\/sysctl.d\/*.conf e \/etc\/sysctl.conf\n\n# 7. Confirmar persist\u00eancia\nsysctl vm.swappiness                     # Sa\u00edda esperada: vm.swappiness = 10\n\n# 8. Listar todas as vari\u00e1veis de mem\u00f3ria para inspe\u00e7\u00e3o\nsysctl -a | grep '^vm\\.'                 # Filtra apenas par\u00e2metros de mem\u00f3ria virtual\n<\/code><\/pre>\n<p><strong>Sa\u00edda esperada no terminal<\/strong> (parcial, pois a sa\u00edda completa de <strong>sysctl -a<\/strong> \u00e9 extensa):<\/p>\n<pre><code class=\"output\">$ uname -r\n5.15.0-91-generic\n$ cat \/etc\/os-release | head -5\nPRETTY_NAME=\"Ubuntu 22.04.3 LTS\"\nNAME=\"Ubuntu\"\nVERSION_ID=\"22.04\"\nVERSION_CODENAME=jammy\nID=ubuntu\n$ sysctl vm.swappiness\nvm.swappiness = 60\n$ sysctl -w vm.swappiness=10\nvm.swappiness = 10\n$ cat \/proc\/sys\/vm\/swappiness\n10\n$ sudo sysctl --system\n* Applying \/etc\/sysctl.d\/10-console-messages.conf ...\nkernel.printk = 4 4 1 7\n* Applying \/etc\/sysctl.d\/90-tuning.conf ...\nvm.swappiness = 10\nvm.dirty_ratio = 15\nvm.dirty_background_ratio = 5\n* Applying \/etc\/sysctl.conf ...\n$ sysctl vm.swappiness\nvm.swappiness = 10\n$ sysctl -a | grep '^vm\\.'\nvm.admin_reserve_kbytes = 8192\nvm.block_dump = 0\nvm.compact_memory = 1\nvm.dirty_background_ratio = 5\nvm.dirty_ratio = 15\nvm.dirtytime_expire_seconds = 43200\nvm.swappiness = 10\nvm.vfs_cache_pressure = 100\n...\n<\/code><\/pre>\n<p>Repare que, ap\u00f3s a execu\u00e7\u00e3o de <strong>sysctl &#8211;system<\/strong>, o kernel percorre os arquivos em ordem alfab\u00e9tica e aplica cada linha. Se houver conflito, o \u00faltimo arquivo lido prevalece. Essa caracter\u00edstica \u00e9 \u00fatil para sobrepor valores padr\u00e3o da distribui\u00e7\u00e3o sem modificar arquivos originais. Em nossos projetos na JRT Technology Solutions, sempre utilizamos arquivos prefixados com n\u00fameros altos, como <strong>90-<\/strong>, para garantir que nossas configura\u00e7\u00f5es prevale\u00e7am sobre as defaults.<\/p>\n<h3>Configura\u00e7\u00e3o Detalhada \u2014 Arquivo \/etc\/sysctl.d\/90-tuning.conf<\/h3>\n<p>O arquivo <strong>\/etc\/sysctl.d\/90-tuning.conf<\/strong> \u00e9 o cora\u00e7\u00e3o da persist\u00eancia dos seus ajustes. Cada linha segue o formato <strong>parametro=valor<\/strong>, sem espa\u00e7os ao redor do sinal de igual. Linhas em branco s\u00e3o ignoradas, e coment\u00e1rios come\u00e7am com <strong>#<\/strong> ou <strong>;<\/strong>. Voc\u00ea pode organizar o arquivo por subsistema, criando se\u00e7\u00f5es l\u00f3gicas para mem\u00f3ria, rede, file system e kernel. Abaixo, apresentamos um conte\u00fado completo e comentado, que serve como base s\u00f3lida para servidores web e de aplica\u00e7\u00e3o.<\/p>\n<pre><code># \/etc\/sysctl.d\/90-tuning.conf\n# Tuning de performance para servidores Linux\n# Aplicado com: sysctl --system\n# \u00daltima atualiza\u00e7\u00e3o: 24\/08\/2026\n\n# ---------------- MEM\u00d3RIA ----------------\n# Reduz inclina\u00e7\u00e3o a usar swap. 10 \u00e9 agressivo para manter em RAM.\nvm.swappiness = 10\n# Percentual m\u00e1ximo de mem\u00f3ria suja antes de for\u00e7ar grava\u00e7\u00e3o em disco.\nvm.dirty_ratio = 15\n# Percentual de mem\u00f3ria suja que dispara grava\u00e7\u00e3o em segundo plano.\nvm.dirty_background_ratio = 5\n# Reduz press\u00e3o sobre cache de inodes\/dentries. Valores > 100 favorecem cache.\nvm.vfs_cache_pressure = 50\n\n# ---------------- FILE SYSTEM ----------------\n# N\u00famero m\u00e1ximo de arquivos abertos pelo sistema.\nfs.file-max = 2097152\n# N\u00famero m\u00e1ximo de inotify watches (\u00fatil para verifica\u00e7\u00e3o de arquivos).\nfs.inotify.max_user_watches = 524288\n\n# ---------------- REDE ----------------\n# Tamanho m\u00e1ximo da fila de conex\u00f5es pendentes aceitas por socket.\nnet.core.somaxconn = 65535\n# Backlog m\u00e1ximo de pacotes na fila de entrada da interface.\nnet.core.netdev_max_backlog = 65535\n# Reutiliza sockets em TIME_WAIT para novas conex\u00f5es.\nnet.ipv4.tcp_tw_reuse = 1\n# Reduz timeout de TIME_WAIT de 60s para 15s.\nnet.ipv4.tcp_fin_timeout = 15\n# Portas ef\u00eameras dispon\u00edveis para conex\u00f5es de sa\u00edda.\nnet.ipv4.ip_local_port_range = 1024 65535\n# Ativa SYN cookies para mitigar ataques SYN flood.\nnet.ipv4.tcp_syncookies = 1\n# Aumenta buffer de recep\u00e7\u00e3o padr\u00e3o.\nnet.core.rmem_default = 262144\n# Aumenta buffer de envio padr\u00e3o.\nnet.core.wmem_default = 262144\n# Buffer m\u00e1ximo de recep\u00e7\u00e3o (ajust\u00e1vel pelo kernel).\nnet.core.rmem_max = 16777216\n# Buffer m\u00e1ximo de envio (ajust\u00e1vel pelo kernel).\nnet.core.wmem_max = 16777216\n\n# ---------------- KERNEL ----------------\n# Aumenta limite m\u00e1ximo de processos individuais.\nkernel.pid_max = 4194304\n# Ativa o magic SysRq para depura\u00e7\u00e3o emergencial.\nkernel.sysrq = 1\n<\/code><\/pre>\n<p>Esse arquivo deve ser criado com permiss\u00f5es de root e, de prefer\u00eancia, com um backup do estado anterior. Para criar, use <strong>sudo nano \/etc\/sysctl.d\/90-tuning.conf<\/strong> ou <strong>sudo tee<\/strong> como mostrado anteriormente. Ap\u00f3s salvar, execute <strong>sudo sysctl &#8211;system<\/strong> para aplicar. Para desfazer, basta excluir o arquivo e recarregar com <strong>sudo sysctl &#8211;system<\/strong>. Toda altera\u00e7\u00e3o \u00e9 revers\u00edvel, desde que voc\u00ea mantenha o arquivo original da distribui\u00e7\u00e3o intacto.<\/p>\n<h3>Tuning de Performance de Mem\u00f3ria e Swap<\/h3>\n<p>O gerenciamento de mem\u00f3ria \u00e9, disparado, o alvo mais comum de <strong>tuning de performance<\/strong>. O par\u00e2metro <strong>vm.swappiness<\/strong> controla o qu\u00e3o agressivamente o kernel move p\u00e1ginas da RAM para o swap. O valor padr\u00e3o no Ubuntu costuma ser 60, o que significa que o kernel come\u00e7a a usar swap relativamente cedo, mesmo quando ainda h\u00e1 mem\u00f3ria livre. Para servidores de aplica\u00e7\u00e3o ou banco de dados, reduzir para 10 ou 5 mant\u00e9m os processos em RAM e evita queda de performance por swap. Para desktops com pouca RAM, um valor mais alto pode ser ben\u00e9fico, mas para servidores, valores baixos s\u00e3o regra.<\/p>\n<p>Outro par de par\u00e2metros fundamentais s\u00e3o <strong>vm.dirty_ratio<\/strong> e <strong>vm.dirty_background_ratio<\/strong>. Eles controlam o percentual de mem\u00f3ria RAM que pode ficar &#8220;suja&#8221;, ou seja, com dados modificados ainda n\u00e3o gravados em disco. O <strong>vm.dirty_ratio<\/strong> define o limite em que o kernel for\u00e7a a grava\u00e7\u00e3o s\u00edncrona, podendo causar pausas percept\u00edveis. O <strong>vm.dirty_background_ratio<\/strong> define quando a grava\u00e7\u00e3o em segundo plano inicia. Em servidores com discos r\u00e1pidos (NVMe), aumentar esses valores permite acumular mais escrita e reduzir opera\u00e7\u00f5es de I\/O. Em discos lentos, manter valores baixos evita picos de lat\u00eancia.<\/p>\n<p>O <strong>vm.vfs_cache_pressure<\/strong> influencia a reten\u00e7\u00e3o de cache de inodes e dentries. O valor padr\u00e3o \u00e9 100. Reduzir para 50 faz o kernel manter esses caches por mais tempo, o que beneficia workloads com muitos acessos a arquivos pequenos, como servidores web est\u00e1ticos. Aumentar para acima de 100 libera cache mais r\u00e1pido, \u00fatil quando a mem\u00f3ria \u00e9 escassa e os processos ativos precisam de mais espa\u00e7o. Em servidores de banco de dados, valores entre 50 e 80 costumam trazer bons resultados.<\/p>\n<p>Al\u00e9m desses, existe o <strong>vm.overcommit_memory<\/strong>, que controla como o kernel lida com aloca\u00e7\u00e3o de mem\u00f3ria excedente. O valor <strong>0<\/strong> (padr\u00e3o) \u00e9 heur\u00edstico, <strong>1<\/strong> permite overcommit quase ilimitado e <strong>2<\/strong> restringe com base em limites definidos. Para servidores de banco de dados com cargas previs\u00edveis, o valor 0 \u00e9 adequado. Para ambientes com muitos processos que alocam mem\u00f3ria virtual sem usar, o valor 1 pode evitar falhas de aloca\u00e7\u00e3o. N\u00e3o altere <strong>vm.overcommit_memory<\/strong> sem medir o impacto, pois pode causar OOM (Out Of Memory) em cen\u00e1rios extremos.<\/p>\n<p>Em sistemas com pouca RAM, o par\u00e2metro <strong>vm.min_free_kbytes<\/strong> define a quantidade m\u00ednima de mem\u00f3ria livre que o kernel tenta manter. O valor padr\u00e3o \u00e9 geralmente baixo, como 67584 (cerca de 66 MB). Aumentar para 131072 ou 262144 pode prevenir lat\u00eancias de aloca\u00e7\u00e3o e deadlocks em picos de carga, mas reduz a RAM \u00fatil. Ajuste com cautela, pois valores muito altos em sistemas com pouca RAM podem agravar a press\u00e3o de mem\u00f3ria. Este \u00e9 um exemplo cl\u00e1ssico de par\u00e2metro que exige medi\u00e7\u00e3o antes e depois.<\/p>\n<h3>Tuning de Performance de Rede<\/h3>\n<p>O <strong>tuning de performance<\/strong> de rede \u00e9 indispens\u00e1vel para servidores que recebem milhares de conex\u00f5es simult\u00e2neas. O par\u00e2metro <strong>net.core.somaxconn<\/strong> define o tamanho m\u00e1ximo da fila de conex\u00f5es pendentes para cada socket de escuta. O valor padr\u00e3o costuma ser 128 ou 4096, que \u00e9 insuficiente para servidores web de alto tr\u00e1fego. Aumentar para 65535 permite que o kernel aceite mais conex\u00f5es em fila antes de recusar novas. Lembre-se de que aplica\u00e7\u00f5es como Nginx e HAProxy tamb\u00e9m t\u00eam seus pr\u00f3prios limites de backlog, que devem ser ajustados separadamente.<\/p>\n<p>O <strong>net.core.netdev_max_backlog<\/strong> define o tamanho da fila de entrada de pacotes para cada interface de rede. Se voc\u00ea observar incrementos frequentes de <strong>backlog<\/strong> em <strong>netstat -s<\/strong>, aumente esse valor para 65535. O mesmo vale para os buffers de socket: <strong>net.core.rmem_default<\/strong> e <strong>net.core.wmem_default<\/strong> definem os tamanhos padr\u00e3o, enquanto <strong>net.core.rmem_max<\/strong> e <strong>net.core.wmem_max<\/strong> definem os m\u00e1ximos negoci\u00e1veis. Para workloads com transfer\u00eancias volumosas, aumentar esses buffers reduz a perda de pacotes e melhora o throughput.<\/p>\n<p>No n\u00edvel TCP, o <strong>net.ipv4.tcp_fin_timeout<\/strong> controla por quanto tempo um socket permanece em <strong>FIN_WAIT_2<\/strong> antes de ser fechado. O padr\u00e3o \u00e9 60 segundos. Reduzir para 15 ou 10 segundos acelera a reciclagem de sockets em servidores com muitas conex\u00f5es curtas. J\u00e1 o <strong>net.ipv4.tcp_tw_reuse<\/strong> permite reutilizar sockets em <strong>TIME_WAIT<\/strong> para novas conex\u00f5es de sa\u00edda. Em conjunto, esses dois ajustes reduzem drasticamente o ac\u00famulo de sockets em <strong>TIME_WAIT<\/strong>, que \u00e9 um sintoma comum em servidores web com tr\u00e1fego intenso.<\/p>\n<p>Outro par\u00e2metro cr\u00edtico \u00e9 o <strong>net.ipv4.ip_local_port_range<\/strong>, que define a faixa de portas ef\u00eameras usadas para conex\u00f5es de sa\u00edda. O padr\u00e3o em muitas distribui\u00e7\u00f5es \u00e9 <strong>32768 60999<\/strong>, totalizando cerca de 28 mil portas. Em servidores que fazem muitas requisi\u00e7\u00f5es a servi\u00e7os externos, aumentar para <strong>1024 65535<\/strong> fornece mais de 64 mil portas, reduzindo a chance de esgotamento. O <strong>net.ipv4.tcp_syncookies<\/strong> deve estar habilitado (valor 1) para mitigar ataques SYN flood. Voc\u00ea pode verificar se est\u00e1 ativo com <strong>sysctl net.ipv4.tcp_syncookies<\/strong>.<\/p>\n<p>Para ambientes de alta concorr\u00eancia, considere tamb\u00e9m <strong>net.ipv4.tcp_max_syn_backlog<\/strong>, que define a fila de conex\u00f5es SYN pendentes, e <strong>net.ipv4.tcp_keepalive_time<\/strong>, que ajusta o intervalo de keepalive. Em servidores de banco de dados que mant\u00eam conex\u00f5es ociosas, aumentar o keepalive para 300 segundos pode reduzir tr\u00e1fego desnecess\u00e1rio. Em servidores web atr\u00e1s de balanceadores, reduzir pode ajudar a detectar conex\u00f5es mortas mais r\u00e1pido. A regra de ouro continua: medir antes e depois.<\/p>\n<h3>Tuning de Performance de I\/O e File System<\/h3>\n<p>O subsistema de I\/O \u00e9 frequentemente o gargalo mais negligenciado. O par\u00e2metro <strong>fs.file-max<\/strong> define o limite m\u00e1ximo de arquivos abertos em todo o sistema. Em servidores com muitos processos ou sockets (que tamb\u00e9m contam como descritores de arquivo), o padr\u00e3o pode ser excedido. Aumente para 2097152 ou mais. Al\u00e9m do limite global, o limite por processo \u00e9 controlado pelo <strong>ulimit -n<\/strong>, que deve ser ajustado em <strong>\/etc\/security\/limits.conf<\/strong>. Ambos os limites precisam ser elevados para evitar erros de <em>too many open files<\/em>.<\/p>\n<p>O par\u00e2metro <strong>fs.inotify.max_user_watches<\/strong> \u00e9 essencial para ferramentas de monitoramento de arquivos, como <strong>systemd<\/strong>, <strong>Syncthing<\/strong>, <strong>Nodemon<\/strong> e <strong>VSCode remote<\/strong>. O padr\u00e3o em desktops \u00e9 8192 ou 65536. Para servidores com milh\u00f5es de arquivos em projetos de desenvolvimento, aumentar para 524288 previne erros de &#8220;system limit on number of file watchers reached&#8221;. Esse ajuste \u00e9 r\u00e1pido e sem efeitos colaterais, sendo um dos primeiros que aplicamos em esta\u00e7\u00f5es de desenvolvimento na JRT Technology Solutions.<\/p>\n<p>No contexto de <strong>tuning de performance<\/strong> de I\/O, o escalonador de fila de disco tamb\u00e9m merece aten\u00e7\u00e3o. Em discos mec\u00e2nicos, o escalonador <strong>mq-deadline<\/strong> ou <strong>bfq<\/strong> costuma ser adequado. Em discos NVMe, o escalonador <strong>none<\/strong> ou <strong>noop<\/strong> reduz a sobrecarga de CPU. Voc\u00ea pode verificar com <strong>cat \/sys\/block\/sda\/queue\/scheduler<\/strong> e alterar temporariamente com <strong>echo none > \/sys\/block\/sda\/queue\/scheduler<\/strong>. A persist\u00eancia pode ser feita via regras <strong>udev<\/strong> ou par\u00e2metros de kernel na linha de comando do GRUB.<\/p>\n<p>O par\u00e2metro <strong>vm.dirty_expire_centisecs<\/strong> e <strong>vm.dirty_writeback_centisecs<\/strong> controlam o intervalo de grava\u00e7\u00e3o de p\u00e1ginas sujas. Em servidores de banco de dados com discos r\u00e1pidos, reduzir o writeback para 100 centisegundos (1 segundo) pode melhorar a consist\u00eancia, mas aumenta a carga de I\/O. Em servidores de arquivos, aumentar para 3000 centisegundos (30 segundos) pode reduzir opera\u00e7\u00f5es de grava\u00e7\u00e3o, aceitando maior risco de perda em caso de falha. Ajuste de acordo com a criticidade dos dados.<\/p>\n<p>Por fim, lembre-se de que o <strong>noatime<\/strong> e <strong>nodiratime<\/strong> nas op\u00e7\u00f5es de montagem do <strong>\/etc\/fstab<\/strong> reduzem grava\u00e7\u00f5es desnecess\u00e1rias de metadados de acesso. Para sistemas com muitos arquivos pequenos acessados com frequ\u00eancia, essa otimiza\u00e7\u00e3o pode trazer ganhos significativos. Voc\u00ea pode verificar as op\u00e7\u00f5es atuais com <strong>mount | grep &#8216; \/ &#8216;<\/strong>. Em nossos laborat\u00f3rios, aplicamos <strong>noatime<\/strong> em todos os servidores que n\u00e3o precisam de registro de tempo de acesso por conformidade.<\/p>\n<h3>Verificando a Instala\u00e7\u00e3o \/ Testando a Configura\u00e7\u00e3o<\/h3>\n<p>Ap\u00f3s aplicar seus ajustes, a verifica\u00e7\u00e3o \u00e9 obrigat\u00f3ria. N\u00e3o basta ver o valor na tela; voc\u00ea precisa garantir que o par\u00e2metro est\u00e1 ativo e que o comportamento do sistema mudou conforme esperado. Vamos executar uma bateria de comandos de inspe\u00e7\u00e3o que confirmam a aplica\u00e7\u00e3o correta de cada ajuste.<\/p>\n<pre><code># 1. Confirmar par\u00e2metros de mem\u00f3ria\nsysctl vm.swappiness vm.dirty_ratio vm.dirty_background_ratio vm.vfs_cache_pressure\n\n# 2. Confirmar par\u00e2metros de file system\nsysctl fs.file-max fs.inotify.max_user_watches\n\n# 3. Confirmar par\u00e2metros de rede\nsysctl net.core.somaxconn net.core.netdev_max_backlog net.ipv4.tcp_fin_timeout\n\n# 4. Confirmar portas ef\u00eameras\nsysctl net.ipv4.ip_local_port_range\n\n# 5. Verificar estado atual de sockets\nss -s\n\n# 6. Verificar estat\u00edsticas de erro de rede\nnetstat -s | grep -E 'backlog|timewait|syn'\n\n# 7. Verificar uso de swap e cache\nfree -h\n\n# 8. Verificar I\/O de disco (requer sysstat)\niostat -x 1 3\n<\/code><\/pre>\n<p><strong>Sa\u00edda esperada<\/strong> (parcial, para demonstra\u00e7\u00e3o de sucesso):<\/p>\n<pre><code class=\"output\">$ sysctl vm.swappiness vm.dirty_ratio vm.dirty_background_ratio vm.vfs_cache_pressure\nvm.swappiness = 10\nvm.dirty_ratio = 15\nvm.dirty_background_ratio = 5\nvm.vfs_cache_pressure = 50\n$ sysctl fs.file-max fs.inotify.max_user_watches\nfs.file-max = 2097152\nfs.inotify.max_user_watches = 524288\n$ sysctl net.core.somaxconn net.core.netdev_max_backlog net.ipv4.tcp_fin_timeout\nnet.core.somaxconn = 65535\nnet.core.netdev_max_backlog = 65535\nnet.ipv4.tcp_fin_timeout = 15\n$ sysctl net.ipv4.ip_local_port_range\nnet.ipv4.ip_local_port_range = 1024\t65535\n$ ss -s\nTotal: 48\nTCP:   12 (estab 6, closed 2, orphaned 0, timewait 2)\nTransport Total     IP        IPv6\nRAW       0         0         0\nUDP       2         1         1\nTCP       10        6         4\nINET      12        7         5\nFRAG      0         0         0\n$ free -h\n               total        used        free      shared  buff\/cache   available\nMem:           3.8Gi       1.2Gi       1.1Gi        23Mi       1.5Gi       2.4Gi\nSwap:          2.0Gi       0.0Gi       2.0Gi\n<\/code><\/pre>\n<p>Repare que a sa\u00edda de <strong>ss -s<\/strong> mostra poucos sockets em <strong>timewait<\/strong>, o que \u00e9 excelente para servidores ap\u00f3s os ajustes. O <strong>free -h<\/strong> mostra swap zerado, confirmando que o swappiness reduzido est\u00e1 funcionando. Caso alguma sa\u00edda n\u00e3o corresponda ao esperado, revise seu arquivo <strong>\/etc\/sysctl.d\/90-tuning.conf<\/strong> e execute <strong>sysctl &#8211;system<\/strong> novamente, observando mensagens de erro.<\/p>\n<h3>Erros Comuns e Como Resolver<\/h3>\n<p>Durante o <strong>tuning de performance<\/strong>, alguns erros s\u00e3o recorrentes em ambientes de produ\u00e7\u00e3o. Conhec\u00ea-los de antem\u00e3o evita retrabalho e tempo de indisponibilidade. Abaixo listamos os quatro erros mais frequentes, com causa, sintoma e solu\u00e7\u00e3o detalhada.<\/p>\n<ul>\n<li><strong>Erro: &#8220;sysctl: permission denied on key &#8216;vm.swappiness'&#8221;.<\/strong> Voc\u00ea tentou alterar um par\u00e2metro sem privil\u00e9gios de root ou sudo. <em>Causa:<\/em> o comando <strong>sysctl -w<\/strong> exige privil\u00e9gios administrativos. <em>Sintoma:<\/em> a mensagem aparece imediatamente e o valor n\u00e3o muda. <em>Solu\u00e7\u00e3o:<\/em> execute com <strong>sudo<\/strong> (<strong>sudo sysctl -w vm.swappiness=10<\/strong>) ou troque para o usu\u00e1rio root com <strong>sudo -i<\/strong>.<\/li>\n<li><strong>Erro: valor n\u00e3o persiste ap\u00f3s reinicializa\u00e7\u00e3o.<\/strong> Voc\u00ea alterou com <strong>sysctl -w<\/strong>, mas n\u00e3o criou o arquivo em <strong>\/etc\/sysctl.d\/<\/strong>. <em>Causa:<\/em> altera\u00e7\u00f5es com <strong>-w<\/strong> s\u00e3o vol\u00e1teis. <em>Sintoma:<\/em> ap\u00f3s reboot, o par\u00e2metro volta ao valor padr\u00e3o. <em>Solu\u00e7\u00e3o:<\/em> crie o arquivo <strong>\/etc\/sysctl.d\/90-tuning.conf<\/strong> com o valor desejado e execute <strong>sudo sysctl &#8211;system<\/strong>. Confirme com <strong>grep swappiness \/etc\/sysctl.d\/*.conf<\/strong>.<\/li>\n<li><strong>Erro: &#8220;sysctl: setting key &#8216;net.ipv4.ip_local_port_range&#8217;: Invalid argument&#8221;.<\/strong> O intervalo de portas foi definido com os n\u00fameros invertidos. <em>Causa:<\/em> o formato exige <strong>porta_inferior porta_superior<\/strong> separadas por espa\u00e7o. <em>Sintoma:<\/em> o comando falha e n\u00e3o altera o valor. <em>Solu\u00e7\u00e3o:<\/em> use <strong>sysctl -w net.ipv4.ip_local_port_range=&#8221;1024 65535&#8243;<\/strong> ou verifique o arquivo. No arquivo, a linha deve ser <strong>net.ipv4.ip_local_port_range = 1024 65535<\/strong>.<\/li>\n<li><strong>Erro: esgotamento de portas ef\u00eameras (&#8220;Cannot assign requested address&#8221;).<\/strong> Aplica\u00e7\u00f5es n\u00e3o conseguem abrir novas conex\u00f5es de sa\u00edda. <em>Causa:<\/em> faixa de portas ef\u00eameras pequena (padr\u00e3o 32768 a 60999) ou TIME_WAIT excessivo. <em>Sintoma:<\/em> erros intermitentes em requisi\u00e7\u00f5es a bancos de dados ou APIs externas. <em>Solu\u00e7\u00e3o:<\/em> aumente a faixa com <strong>net.ipv4.ip_local_port_range = 1024 65535<\/strong>, habilite <strong>net.ipv4.tcp_tw_reuse = 1<\/strong> e reduza <strong>net.ipv4.tcp_fin_timeout = 15<\/strong>. Aplique com <strong>sysctl &#8211;system<\/strong>.<\/li>\n<li><strong>Erro: fila de conex\u00f5es estourada em servidor web (&#8220;SYN backlog&#8221; ou &#8220;connection refused&#8221;).<\/strong> O Nginx ou Apache recusa conex\u00f5es em picos. <em>Causa:<\/em> <strong>net.core.somaxconn<\/strong> baixo (128). <em>Sintoma:<\/em> picos de conex\u00f5es recusadas, log de erro mostrando backlog excedido. <em>Solu\u00e7\u00e3o:<\/em> defina <strong>net.core.somaxconn = 65535<\/strong> e ajuste o backlog da aplica\u00e7\u00e3o para 65535. No Nginx, use <strong>listen 80 backlog=65535;<\/strong>. Reinicie o servi\u00e7o e monitore com <strong>ss -ltn<\/strong>.<\/li>\n<\/ul>\n<h3>Boas Pr\u00e1ticas e Dicas Avan\u00e7adas<\/h3>\n<p>Adotar boas pr\u00e1ticas de <strong>tuning de performance<\/strong> \u00e9 o que separa administradores juniores de engenheiros SRE. A primeira boa pr\u00e1tica \u00e9 versionar suas configura\u00e7\u00f5es. O arquivo <strong>\/etc\/sysctl.d\/90-tuning.conf<\/strong> deve estar sob controle de vers\u00e3o (Git, Ansible, Salt, Puppet). Na JRT Technology Solutions, nossos especialistas gerenciam todas as configura\u00e7\u00f5es de infraestrutura com <strong>Ansible<\/strong>, incluindo o arquivo <strong>sysctl.d<\/strong>. Isso permite reproduzir ambientes id\u00eanticos e auditar altera\u00e7\u00f5es com facilidade.<\/p>\n<p>Segunda boa pr\u00e1tica: teste em staging. Nunca aplique um par\u00e2metro novo diretamente em produ\u00e7\u00e3o. Use uma VM espelho com carga sint\u00e9tica, como <strong>stress-ng<\/strong>, <strong>wrk<\/strong> ou <strong>pgbench<\/strong>, para simular o workload real. Compare m\u00e9tricas com e sem o ajuste. S\u00f3 promova para produ\u00e7\u00e3o quando houver evid\u00eancia estatisticamente significativa de melhoria. Essa disciplina evita incidentes causados por tuning mal testado.<\/p>\n<p>Terceira boa pr\u00e1tica: monitore continuamente. Ap\u00f3s promulgar um ajuste, configure alertas para as m\u00e9tricas relevantes, como lat\u00eancia, uso de swap, descarte de pacotes e filas. Ferramentas como <strong>Prometheus<\/strong>, <strong>Grafana<\/strong>, <strong>Zabbix<\/strong> ou <strong>Netdata<\/strong> s\u00e3o excelentes. O monitoramento fecha o ciclo de feedback: voc\u00ea saber\u00e1 se o tuning est\u00e1 funcionando ou se precisa de novos ajustes. Em nossos projetos na JRT Technology Solutions, integramos o <strong>node_exporter<\/strong> do Prometheus para expor m\u00e9tricas de kernel e sistema para dashboards.<\/p>\n<p>Quarta boa pr\u00e1tica: documente cada altera\u00e7\u00e3o. Inclua coment\u00e1rios no pr\u00f3prio arquivo <strong>sysctl.d<\/strong>, explicando <em>por que<\/em> cada valor foi escolhido e a data da mudan\u00e7a. Isso ajuda futuros administradores a entender o racional por tr\u00e1s dos n\u00fameros. Uma linha como <strong># Reduzido em 24\/08\/2026 ap\u00f3s an\u00e1lise de swap em servidor DB<\/strong> vale mais que mil explica\u00e7\u00f5es em tickets.<\/p>\n<p>Na parte avan\u00e7ada, exploramos par\u00e2metros de kernel que afetam o escalonamento de CPU, como <strong>kernel.sched_migration_cost_ns<\/strong>, <strong>kernel.sched_autogroup_enabled<\/strong> e <strong>kernel.sched_min_granularity_ns<\/strong>. Esses par\u00e2metros s\u00e3o sens\u00edveis e raramente precisam ser alterados em servidores modernos. Se voc\u00ea sentir necessidade, tenha um conhecimento profundo de escalonamento. Outro tema avan\u00e7ado \u00e9 o <strong>tuning de network namespaces<\/strong> e <strong>TC (Traffic Control)<\/strong>, que foge do escopo desta aula, mas \u00e9 essencial para QoS em gateways.<\/p>\n<h3>Resumo da Aula 26<\/h3>\n<p>Nesta aula voc\u00ea aprendeu os fundamentos do <strong>tuning de performance<\/strong> no Linux, desde a explora\u00e7\u00e3o de <strong>\/proc\/sys<\/strong> at\u00e9 a cria\u00e7\u00e3o de arquivos persistentes com <strong>sysctl<\/strong>. Cobrimos os principais par\u00e2metros de mem\u00f3ria, rede, I\/O e kernel, com comandos pr\u00e1ticos e sa\u00eddas reais. A \u00eanfase foi no diagn\u00f3stico antes do ajuste, na medi\u00e7\u00e3o cont\u00ednua e na seguran\u00e7a de ter tudo versionado e revers\u00edvel. Voc\u00ea agora tem um arcabou\u00e7o profissional para otimizar servidores de qualquer carga.<\/p>\n<p>A tabela abaixo resume os par\u00e2metros mais cr\u00edticos que aprendemos, seus valores t\u00edpicos de refer\u00eancia e onde se aplicam.<\/p>\n<table border=\"1\" cellpadding=\"6\" cellspacing=\"0\">\n<thead>\n<tr>\n<th>Par\u00e2metro<\/th>\n<th>Valor padr\u00e3o comum<\/th>\n<th>Valor recomendado (servidor web)<\/th>\n<th>Aplica\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong<\/tbody>\n<\/table>\n<div style=\"margin:52px 0 40px;padding:36px 28px;background:linear-gradient(135deg,#0f172a 0%,#1a2744 100%);border:2px solid #25D366;border-radius:18px;text-align:center;box-shadow:0 4px 28px rgba(37,211,102,0.18)\">\n<p style=\"margin:0 0 10px;font-size:18px;color:#ffffff;font-weight:700;line-height:1.4\">Quer aprender na pr\u00e1tica com especialistas?<\/p>\n<p style=\"margin:0 0 28px;font-size:15px;color:#94a3b8;font-weight:400;line-height:1.6\">A JRT Technology Solutions oferece treinamentos e implementa\u00e7\u00e3o de Linux para equipes corporativas.<\/p>\n<p>  <a href=\"https:\/\/api.whatsapp.com\/send\/?phone=5521980606699&#038;text=Ol%C3%A1!%20Tenho%20interesse%20no%20treinamento%20de%20Linux.&#038;type=phone_number&#038;app_absent=0\"\n     target=\"_blank\" rel=\"noopener noreferrer\"\n     style=\"display:inline-flex;align-items:center;gap:12px;background:#25D366;color:#ffffff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;font-weight:700;padding:15px 32px;border-radius:100px;text-decoration:none;box-shadow:0 4px 16px rgba(37,211,102,0.45);letter-spacing:0.01em\"><br \/>\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"#ffffff\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/><\/svg><br \/>\n    Falar no WhatsApp<br \/>\n  <\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>O tuning de performance \u00e9 a arte e a ci\u00eancia de extrair o m\u00e1ximo de um sistema Linux ajustando par\u00e2metros de kernel, subsistemas de mem\u00f3ria, rede e I\/O sem adicionar hardware. Ao contr\u00e1rio do que muitos imaginam, o kernel Linux j\u00e1 vem com valores padr\u00e3o extremamente conservadores. Esses padr\u00f5es s\u00e3o escolhidos para funcionar bem na &#8230; <a title=\"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl\" class=\"read-more\" href=\"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/\" aria-label=\"Read more about Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl\">Ler mais<\/a><\/p>\n","protected":false},"author":1,"featured_media":2445,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"iawp_total_views":0,"footnotes":""},"categories":[62],"tags":[3363],"class_list":["post-2446","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-linux-do-zero-ao-avancado-tuning-de-performance-parametros-de-kernel-e-sysctl"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"O tuning de performance \u00e9 a arte e a ci\u00eancia de extrair o m\u00e1ximo de um sistema Linux ajustando par\u00e2metros de kernel, subsistemas de mem\u00f3ria, rede e I\/O sem adicionar hardware. Ao contr\u00e1rio do que muitos imaginam, o kernel Linux j\u00e1 vem com valores padr\u00e3o extremamente conservadores. Esses padr\u00f5es s\u00e3o escolhidos para funcionar bem na\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Thiago Paes Rodrigues\"\/>\n\t<meta name=\"google-site-verification\" content=\"QKPfpDCzHmzKyfFk5j1KZW3HhROYTPeqwBN5qcJ8qcg\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_BR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"BLOG - JRT Technology Solutions - Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl - BLOG - JRT Technology Solutions\" \/>\n\t\t<meta property=\"og:description\" content=\"O tuning de performance \u00e9 a arte e a ci\u00eancia de extrair o m\u00e1ximo de um sistema Linux ajustando par\u00e2metros de kernel, subsistemas de mem\u00f3ria, rede e I\/O sem adicionar hardware. Ao contr\u00e1rio do que muitos imaginam, o kernel Linux j\u00e1 vem com valores padr\u00e3o extremamente conservadores. Esses padr\u00f5es s\u00e3o escolhidos para funcionar bem na\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"100\" \/>\n\t\t<meta property=\"og:image:height\" content=\"75\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-08-24T20:45:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-08-24T20:45:10+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61590814880509\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl - BLOG - JRT Technology Solutions\" \/>\n\t\t<meta name=\"twitter:description\" content=\"O tuning de performance \u00e9 a arte e a ci\u00eancia de extrair o m\u00e1ximo de um sistema Linux ajustando par\u00e2metros de kernel, subsistemas de mem\u00f3ria, rede e I\/O sem adicionar hardware. Ao contr\u00e1rio do que muitos imaginam, o kernel Linux j\u00e1 vem com valores padr\u00e3o extremamente conservadores. Esses padr\u00f5es s\u00e3o escolhidos para funcionar bem na\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#blogposting\",\"name\":\"Aula 26: Tuning de performance \\u2014 par\\u00e2metros de kernel e sysctl - BLOG - JRT Technology Solutions\",\"headline\":\"Aula 26: Tuning de performance \\u2014 par\\u00e2metros de kernel e sysctl\",\"author\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ai-image-1787604302019.jpg\",\"width\":1440,\"height\":1024,\"caption\":\"Aula 26: Tuning de performance \\u2014 par\\u00e2metros de kernel e sysctl\"},\"datePublished\":\"2026-08-24T17:45:10-03:00\",\"dateModified\":\"2026-08-24T17:45:10-03:00\",\"inLanguage\":\"pt-BR\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#webpage\"},\"articleSection\":\"Linux, Linux \\u2014 Do Zero ao Avan\\u00e7ado: Tuning de performance \\u2014 par\\u00e2metros de kernel e sysctl\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jrtx.com.br\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/linux\\\/#listItem\",\"name\":\"Linux\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/linux\\\/#listItem\",\"position\":2,\"name\":\"Linux\",\"item\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/linux\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#listItem\",\"name\":\"Aula 26: Tuning de performance \\u2014 par\\u00e2metros de kernel e sysctl\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#listItem\",\"position\":3,\"name\":\"Aula 26: Tuning de performance \\u2014 par\\u00e2metros de kernel e sysctl\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/linux\\\/#listItem\",\"name\":\"Linux\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\",\"name\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"description\":\"Um espa\\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\\u00e1tica e atual. Aqui voc\\u00ea encontra novidades, an\\u00e1lises, tutoriais e reflex\\u00f5es sobre inova\\u00e7\\u00e3o, intelig\\u00eancia artificial, gadgets, programa\\u00e7\\u00e3o e tend\\u00eancias digitais. Nosso objetivo \\u00e9 simplificar o complexo, ajudar voc\\u00ea a se manter atualizado e transformar conhecimento em pr\\u00e1tica no seu dia a dia.\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/\",\"telephone\":\"+552138277513\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/cropped-logo-mini.jpg\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#organizationLogo\",\"width\":100,\"height\":75},\"image\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=61590814880509\",\"https:\\\/\\\/www.instagram.com\\\/jrtx.tech\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/\",\"name\":\"Thiago Paes Rodrigues\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#authorImage\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/cropped-foto-rascunho3-96x96.jpeg\",\"width\":96,\"height\":96,\"caption\":\"Thiago Paes Rodrigues\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#webpage\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/\",\"name\":\"Aula 26: Tuning de performance \\u2014 par\\u00e2metros de kernel e sysctl - BLOG - JRT Technology Solutions\",\"description\":\"O tuning de performance \\u00e9 a arte e a ci\\u00eancia de extrair o m\\u00e1ximo de um sistema Linux ajustando par\\u00e2metros de kernel, subsistemas de mem\\u00f3ria, rede e I\\\/O sem adicionar hardware. Ao contr\\u00e1rio do que muitos imaginam, o kernel Linux j\\u00e1 vem com valores padr\\u00e3o extremamente conservadores. Esses padr\\u00f5es s\\u00e3o escolhidos para funcionar bem na\",\"inLanguage\":\"pt-BR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ai-image-1787604302019.jpg\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#mainImage\",\"width\":1440,\"height\":1024,\"caption\":\"Aula 26: Tuning de performance \\u2014 par\\u00e2metros de kernel e sysctl\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/08\\\/24\\\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\\\/#mainImage\"},\"datePublished\":\"2026-08-24T17:45:10-03:00\",\"dateModified\":\"2026-08-24T17:45:10-03:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/\",\"name\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"alternateName\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"description\":\"Um espa\\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\\u00e1tica e atual. Aqui voc\\u00ea encontra novidades, an\\u00e1lises, tutoriais e reflex\\u00f5es sobre inova\\u00e7\\u00e3o, intelig\\u00eancia artificial, gadgets, programa\\u00e7\\u00e3o e tend\\u00eancias digitais. Nosso objetivo \\u00e9 simplificar o complexo, ajudar voc\\u00ea a se manter atualizado e transformar conhecimento em pr\\u00e1tica no seu dia a dia.\",\"inLanguage\":\"pt-BR\",\"publisher\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl - BLOG - JRT Technology Solutions","description":"O tuning de performance \u00e9 a arte e a ci\u00eancia de extrair o m\u00e1ximo de um sistema Linux ajustando par\u00e2metros de kernel, subsistemas de mem\u00f3ria, rede e I\/O sem adicionar hardware. Ao contr\u00e1rio do que muitos imaginam, o kernel Linux j\u00e1 vem com valores padr\u00e3o extremamente conservadores. Esses padr\u00f5es s\u00e3o escolhidos para funcionar bem na","canonical_url":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"QKPfpDCzHmzKyfFk5j1KZW3HhROYTPeqwBN5qcJ8qcg","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#blogposting","name":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl - BLOG - JRT Technology Solutions","headline":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl","author":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"publisher":{"@id":"https:\/\/jrtx.com.br\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/08\/ai-image-1787604302019.jpg","width":1440,"height":1024,"caption":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl"},"datePublished":"2026-08-24T17:45:10-03:00","dateModified":"2026-08-24T17:45:10-03:00","inLanguage":"pt-BR","mainEntityOfPage":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#webpage"},"isPartOf":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#webpage"},"articleSection":"Linux, Linux \u2014 Do Zero ao Avan\u00e7ado: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl"},{"@type":"BreadcrumbList","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog#listItem","position":1,"name":"Home","item":"https:\/\/jrtx.com.br\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/linux\/#listItem","name":"Linux"}},{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/linux\/#listItem","position":2,"name":"Linux","item":"https:\/\/jrtx.com.br\/blog\/category\/linux\/","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#listItem","name":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl"},"previousItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#listItem","position":3,"name":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl","previousItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/linux\/#listItem","name":"Linux"}}]},{"@type":"Organization","@id":"https:\/\/jrtx.com.br\/blog\/#organization","name":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","description":"Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","url":"https:\/\/jrtx.com.br\/blog\/","telephone":"+552138277513","logo":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#organizationLogo","width":100,"height":75},"image":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61590814880509","https:\/\/www.instagram.com\/jrtx.tech\/"]},{"@type":"Person","@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author","url":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/","name":"Thiago Paes Rodrigues","image":{"@type":"ImageObject","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#authorImage","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/09\/cropped-foto-rascunho3-96x96.jpeg","width":96,"height":96,"caption":"Thiago Paes Rodrigues"}},{"@type":"WebPage","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#webpage","url":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/","name":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl - BLOG - JRT Technology Solutions","description":"O tuning de performance \u00e9 a arte e a ci\u00eancia de extrair o m\u00e1ximo de um sistema Linux ajustando par\u00e2metros de kernel, subsistemas de mem\u00f3ria, rede e I\/O sem adicionar hardware. Ao contr\u00e1rio do que muitos imaginam, o kernel Linux j\u00e1 vem com valores padr\u00e3o extremamente conservadores. Esses padr\u00f5es s\u00e3o escolhidos para funcionar bem na","inLanguage":"pt-BR","isPartOf":{"@id":"https:\/\/jrtx.com.br\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#breadcrumblist"},"author":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"creator":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/08\/ai-image-1787604302019.jpg","@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#mainImage","width":1440,"height":1024,"caption":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl"},"primaryImageOfPage":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/#mainImage"},"datePublished":"2026-08-24T17:45:10-03:00","dateModified":"2026-08-24T17:45:10-03:00"},{"@type":"WebSite","@id":"https:\/\/jrtx.com.br\/blog\/#website","url":"https:\/\/jrtx.com.br\/blog\/","name":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","alternateName":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","description":"Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","inLanguage":"pt-BR","publisher":{"@id":"https:\/\/jrtx.com.br\/blog\/#organization"}}]},"og:locale":"pt_BR","og:site_name":"BLOG - JRT Technology Solutions - Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","og:type":"article","og:title":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl - BLOG - JRT Technology Solutions","og:description":"O tuning de performance \u00e9 a arte e a ci\u00eancia de extrair o m\u00e1ximo de um sistema Linux ajustando par\u00e2metros de kernel, subsistemas de mem\u00f3ria, rede e I\/O sem adicionar hardware. Ao contr\u00e1rio do que muitos imaginam, o kernel Linux j\u00e1 vem com valores padr\u00e3o extremamente conservadores. Esses padr\u00f5es s\u00e3o escolhidos para funcionar bem na","og:url":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/","og:image":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","og:image:secure_url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","og:image:width":100,"og:image:height":75,"article:published_time":"2026-08-24T20:45:10+00:00","article:modified_time":"2026-08-24T20:45:10+00:00","article:publisher":"https:\/\/www.facebook.com\/profile.php?id=61590814880509","twitter:card":"summary_large_image","twitter:title":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl - BLOG - JRT Technology Solutions","twitter:description":"O tuning de performance \u00e9 a arte e a ci\u00eancia de extrair o m\u00e1ximo de um sistema Linux ajustando par\u00e2metros de kernel, subsistemas de mem\u00f3ria, rede e I\/O sem adicionar hardware. Ao contr\u00e1rio do que muitos imaginam, o kernel Linux j\u00e1 vem com valores padr\u00e3o extremamente conservadores. Esses padr\u00f5es s\u00e3o escolhidos para funcionar bem na","twitter:image":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg"},"aioseo_meta_data":{"post_id":"2446","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-08-24 20:45:11","updated":"2026-08-24 20:45:11","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtx.com.br\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtx.com.br\/blog\/category\/linux\/\" title=\"Linux\">Linux<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/jrtx.com.br\/blog"},{"label":"Linux","link":"https:\/\/jrtx.com.br\/blog\/category\/linux\/"},{"label":"Aula 26: Tuning de performance \u2014 par\u00e2metros de kernel e sysctl","link":"https:\/\/jrtx.com.br\/blog\/2026\/08\/24\/aula-26-tuning-de-performance-parametros-de-kernel-e-sysctl\/"}],"_links":{"self":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/2446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/comments?post=2446"}],"version-history":[{"count":0,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/2446\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media\/2445"}],"wp:attachment":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2446"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}