🧩 PARTE 1 — INTRODUÇÃO
Como Ajustar limits.conf no Linux para Máxima Performance
Se você administra servidores Linux — seja VPS, servidor dedicado ou cloud — provavelmente já enfrentou problemas como lentidão inexplicável, falhas em conexões ou erros críticos mesmo com CPU e RAM sobrando.
Um dos principais culpados silenciosos desses problemas é a má configuração do limits.conf no Linux.
Esse arquivo controla os limites de recursos que cada usuário ou processo pode utilizar no sistema. Quando mal configurado, ele pode causar gargalos graves, como:
- Erro “Too many open files”
- Limite baixo de processos simultâneos
- Quedas em aplicações web sob carga
- Instabilidade em serviços como Nginx, Apache e MariaDB
Neste guia completo, você vai aprender:
- O que é o limits.conf no Linux
- Como ajustar corretamente para produção
- Integração com systemd e kernel
- Configuração ideal para alto tráfego
- Erros comuns que derrubam servidores
Ajustar limites no Linux é essencial para estabilidade e performance. Para entender o contexto completo, veja o guia de performance de servidores Linux.
Os limites do sistema devem ser ajustados com base no uso real. Veja também:
🧩 PARTE 2 — O QUE É limits.conf NO LINUX
O arquivo:
/etc/security/limits.conf
define os limites de recursos do sistema operacional para usuários e processos.
Ele atua como uma camada de controle para evitar que um único processo consuma todos os recursos do servidor.
Principais parâmetros
🔹 nofile
Número máximo de arquivos abertos simultaneamente.
👉 Impacta diretamente:
- Nginx
- Apache
- MariaDB
- PHP-FPM
🔹 nproc
Número máximo de processos por usuário.
🔹 stack
Tamanho da pilha de memória por processo.
🔹 core
Controle de geração de arquivos de dump.
Por que isso é crítico?
Em ambientes modernos de alto tráfego, os valores padrão são extremamente baixos.
Isso significa que, sem ajuste, seu servidor pode:
❌ Travar com poucos acessos
❌ Limitar conexões simultâneas
❌ Gerar gargalos invisíveis
🧩 PARTE 3 — PROBLEMAS REAIS CAUSADOS POR MÁ CONFIGURAÇÃO
Um servidor pode parecer saudável:
- CPU em 30%
- RAM sobrando
- Disco normal
Mas ainda assim apresentar falhas.
🚨 Erro clássico
Too many open files
Esse erro acontece quando o limite de arquivos abertos (nofile) é atingido.
Impacto direto
- Sites saem do ar
- APIs param de responder
- Banco de dados falha conexões
- Painéis como DirectAdmin ficam lentos
Cenário comum
Servidor com alto tráfego:
- 500+ conexões simultâneas
- múltiplos processos PHP
- banco de dados ativo
Sem ajuste de limits.conf no Linux → gargalo inevitável.
Limites inadequados podem causar gargalos no sistema. Confira como melhorar a performance de servidores Linux.
🧩 PARTE 4 — CONFIGURAÇÃO CORRETA DO limits.conf
Agora vamos ao que realmente importa: configurar corretamente o limits.conf no Linux.
📌 Configuração base recomendada
* soft nofile 65535
* hard nofile 65535* soft nproc 65535
* hard nproc 65535* soft stack 8192
* hard stack 16384📌 Configuração por serviço (produção)
nginx soft nofile 200000
nginx hard nofile 200000
apache soft nofile 100000
apache hard nofile 100000
mysql soft nofile 200000
mysql hard nofile 200000🔥 O que isso resolve?
- Permite mais conexões simultâneas
- Evita gargalos em aplicações web
- Melhora escalabilidade
- Prepara o servidor para picos
🧩 PARTE 5 — INTEGRAÇÃO COM SYSTEMD (OBRIGATÓRIO)
Apenas configurar o limits.conf no Linux não é suficiente em sistemas modernos.
O systemd pode sobrescrever esses limites.
📌 Arquivo:
/etc/systemd/system.conf
Configuração:
DefaultLimitNOFILE=200000
DefaultLimitNPROC=65535Aplicar:
systemctl daemon-reexec
⚠️ Erro comum
Muitos administradores ajustam o limits.conf no Linux e esquecem o systemd.
Resultado:
❌ Configuração não funciona
❌ Limites continuam baixos
🧩 PARTE 6 — AJUSTES NO KERNEL (SYSCTL)
Para suportar os novos limites, o kernel também precisa ser ajustado.
📌 Arquivo:
/etc/sysctl.conf
Configuração recomendada:
fs.file-max = 2097152
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535Aplicar:
sysctl -p
Benefícios:
- Suporte a mais conexões
- Melhor performance de rede
- Redução de gargalos TCP
🧩 PARTE 7 — VALIDAÇÃO DAS CONFIGURAÇÕES
Depois de ajustar o limits.conf no Linux, é essencial validar.
Ver limite atual:
ulimit -n
Ver limites de um processo:
cat /proc/$(pidof nginx)/limitsVer limite global:
cat /proc/sys/fs/file-max
Ajustar o limits.conf é apenas parte da otimização. Veja a estratégia completa de otimização de servidores Linux.
🧩 PARTE 8 — OTIMIZAÇÃO PARA DIRECTADMIN
Se você usa DirectAdmin, o ajuste do limits.conf no Linux é ainda mais importante.
Por quê?
Porque o ambiente geralmente inclui:
- Nginx (proxy)
- Apache
- PHP-FPM
- MariaDB
Configuração ideal:
nginx soft nofile 200000
apache soft nofile 100000
mysql soft nofile 200000Resultado:
- Painel mais rápido
- Sites mais estáveis
- Melhor performance geral
🧩 PARTE 9 — ERROS COMUNS (CRÍTICO)
❌ Não reiniciar serviços
Mudanças não são aplicadas.
❌ Ignorar systemd
Configuração não funciona.
❌ Valores baixos
Servidor limitado artificialmente.
❌ Não ajustar kernel
Limite não escala.
🧩 PARTE 10 — COMO O limits.conf LINUX AFETA PERFORMANCE REAL
Quando falamos de performance em servidores Linux, muitos administradores focam apenas em CPU, RAM e disco. Porém, o limits.conf linux atua em uma camada mais profunda — controlando diretamente como os processos interagem com o sistema operacional.
🔍 Entendendo o impacto real
Cada conexão em um servidor web gera:
- descritores de arquivos (file descriptors)
- processos ou threads
- uso de stack
Se o limits.conf linux estiver mal configurado:
- conexões são recusadas
- processos não são criados
- serviços travam silenciosamente
Configurações de limite afetam diretamente o desempenho. Veja como melhorar a performance do servidor Linux.
📊 Exemplo prático (alto tráfego)
Imagine um servidor com:
- 1000 usuários simultâneos
- Nginx + PHP-FPM
- MariaDB ativo
Cada conexão pode consumir:
- 1–2 file descriptors (ou mais)
- 1 processo/thread
👉 Sem ajuste no limits.conf linux, você rapidamente atinge o limite.
⚠️ Resultado
Mesmo com hardware disponível:
❌ Erros intermitentes
❌ Timeout em requisições
❌ Queda de performance sob carga
🧩 PARTE 11 — DIFERENÇA ENTRE SOFT E HARD LIMITS
No limits.conf linux, você sempre verá dois tipos de limites:
🔹 Soft limit
É o limite atual aplicado ao usuário.
Pode ser alterado dinamicamente sem reboot.
🔹 Hard limit
É o limite máximo permitido.
Somente root pode alterar.
📌 Exemplo:
* soft nofile 65535
* hard nofile 200000🧠 Estratégia recomendada
Para produção:
- Soft = valor operacional
- Hard = margem de crescimento
🔥 Boas práticas
- Nunca deixe hard muito baixo
- Sempre mantenha espaço para scaling
- Use valores progressivos
🧩 PARTE 12 — LIMITES POR USUÁRIO (OTIMIZAÇÃO AVANÇADA)
Um erro comum ao configurar limits.conf linux é usar apenas * (global).
Isso pode gerar problemas em ambientes multi-serviço.
📌 Configuração ideal segmentada
nginx soft nofile 200000
nginx hard nofile 200000
mysql soft nofile 200000
mysql hard nofile 200000
apache soft nofile 100000
apache hard nofile 100000🎯 Benefícios
- Evita competição por recursos
- Prioriza serviços críticos
- Melhora estabilidade
🧠 Dica profissional
MariaDB e Nginx geralmente precisam de limites mais altos que Apache.
🧩 PARTE 13 — RELAÇÃO COM FILE DESCRIPTORS
O parâmetro mais importante do limits.conf linux é o nofile.
🔍 O que são file descriptors?
No Linux, tudo é tratado como arquivo:
- conexões de rede
- sockets
- arquivos físicos
- pipes
📌 Cada conexão usa FD
Se você tem:
- 10.000 conexões simultâneas
→ precisa de milhares de file descriptors
⚠️ Gargalo clássico
Too many open files
Esse erro é causado diretamente por má configuração do limits.conf linux.
🔧 Solução
Aumentar:
* soft nofile 65535
* hard nofile 65535Ou mais, dependendo do cenário.
🧩 PARTE 14 — INTEGRAÇÃO COM NGINX E ALTO TRÁFEGO
O limits.conf linux precisa estar alinhado com o Nginx.
📌 Configuração ideal
worker_rlimit_nofile 200000;📌 E também:
worker_connections 65535;🧠 Fórmula prática
Capacidade máxima ≈
worker_processes × worker_connections
⚠️ Sem limits.conf correto
O Nginx ignora esses valores.
🧩 PARTE 15 — IMPACTO NO PHP-FPM
PHP-FPM cria múltiplos processos.
Cada processo:
- usa file descriptors
- consome memória
- cria concorrência
📌 Configuração recomendada:
rlimit_files = 100000🔥 Problema comum
Sem ajuste no limits.conf linux:
❌ PHP-FPM trava
❌ Scripts falham
❌ Lentidão em WordPress
🧩 PARTE 16 — IMPACTO NO MARIADB
Banco de dados é extremamente sensível a limites.
📌 Parâmetro crítico:
open_files_limit = 200000🔍 O que acontece sem ajuste?
- tabelas não abrem
- queries falham
- conexões caem
🧠 Integração obrigatória
O valor do MariaDB depende do limits.conf linux.
🧩 PARTE 17 — COMO ESCALAR PARA CLOUD E VPS
Ambientes cloud exigem atenção especial.
📌 Cenário VPS
- limites mais restritos
- compartilhamento de recursos
📌 Estratégia
- usar valores moderados (65535)
- monitorar consumo
- escalar gradualmente
📌 Cenário dedicado
- pode usar valores agressivos
- foco em throughput
🧩 PARTE 18 — MONITORAMENTO AVANÇADO
Após configurar o limits.conf linux, monitore continuamente.
📌 Ferramentas úteis:
lsof
ss -s
cat /proc/sys/fs/file-nr🔍 O que observar:
- uso de file descriptors
- conexões abertas
- picos de carga
🧩 PARTE 19 — HARDENING E SEGURANÇA
O limits.conf linux também ajuda na segurança.
📌 Benefícios:
- evita abuso de recursos
- limita ataques DoS internos
- protege o sistema
⚠️ Estratégia
- limites altos, mas controlados
- monitoramento ativo
🧩 PARTE 20 — CHECKLIST FINAL (PRODUÇÃO)
Antes de considerar concluído:
✔ limits.conf configurado
✔ systemd ajustado
✔ sysctl aplicado
✔ serviços reiniciados
✔ validação feita
🧩 PARTE 21 — CONCLUSÃO FINAL
O ajuste do limits.conf linux é uma das otimizações mais subestimadas no mundo Linux.
Enquanto muitos focam apenas em hardware, é essa configuração que define o verdadeiro limite operacional do seu servidor.
Se você trabalha com:
- VPS
- Servidor dedicado
- Cloud
- DirectAdmin
- cPanel
então dominar o limits.conf linux não é opcional — é essencial.
Para garantir estabilidade e alto desempenho, é essencial otimizar o sistema como um todo. Consulte o guia de como otimizar servidores Linux.
FAQ — limits.conf Linux
O limits.conf linux é um arquivo de configuração localizado em /etc/security/limits.conf que define limites de recursos do sistema para usuários e processos, como número de arquivos abertos (nofile) e quantidade de processos (nproc)
O limits.conf linux serve para controlar o consumo de recursos por processos, evitando que um único serviço comprometa o desempenho do servidor.
Para resolver esse erro, é necessário aumentar o parâmetro nofile no limits.conf linux, além de ajustar o systemd e o kernel (sysctl.conf) para suportar mais descritores de arquivos.
O valor ideal no limits.conf linux depende do ambiente:
VPS pequeno: 65535
Servidores de alto tráfego: 100000 a 200000
No limits.conf linux:
Soft limit é o limite atual usado pelo sistema
Hard limit é o limite máximo permitido
Não é obrigatório reiniciar o servidor, mas é necessário reiniciar os serviços (como Nginx, Apache e MariaDB) para aplicar as mudanças do limits.conf linux.
Não. O limits.conf linux precisa ser combinado com:
configurações do systemd
ajustes no kernel (sysctl.conf)
tuning dos serviços
O arquivo principal do limits.conf linux está localizado em:
/etc/security/limits.conf
Veja Mais:
Performance de Servidores Linux: Guia Completo 2026
Swap Alto com RAM Livre: Por Que Isso Acontece e como Resolver
Servidor Lento: Como Identificar o Gargalo
I/O de disco servidor Linux: Como Resolver Gargalos
CPU 100% no Linux: O Que Verificar Primeiro no Servidor
Como Usar vmstat para Achar Gargalo no Linux em Minutos
Load Average no Linux: Como Interpretar Corretamente
Como Achar Gargalo com Iostat: Guia Definitivo e Prático
Iowait Alto: Causas Reais e Soluções
Guia Completo de Monitoramento Linux com vmstat, iostat e sar
Tuning de sysctl para Produção: Guia Definitivo de Performance Linux
OOM Killer e MySQL: Como Evitar que o Linux Mate seu Banco de Dados
Memory Leak Linux: Como Detectar e Corrigir
No space left on device com espaço livre? Como resolver (Guia Completo)
Como identificar processo que consome CPU no Linux (Guia Completo)
Como Limitar CPU por Processo no Linux com cgroups (Guia Completo)
Upgrade de CPU ou Otimizar? Guia Completo
RAM Cheia no Linux: O Guia Definitivo para Resolver Travamentos em 2026
Buffers e Cache: Quando Deixam de Ajudar e Viram um Problema?
Out of Memory (OOM): Causas Reais, Diagnóstico e Como Resolver
Como evitar OOM Killer Linux em Produção: Guia Definitivo 2026
Gargalo no Linux: Como Identificar se o Problema é CPU ou RAM?
Disco Lento no Linux: Guia Completo para Identificar e Resolver
Latência de Disco no Linux Alta: Causas, Diagnóstico e Soluções

