Tunning-Linux: mudanças entre as edições
Linha 9: | Linha 9: | ||
Por default o kernel Linux já vem com algumas configurações com limites restritos, mas é possível extrapolar algumas dessas configurações fazendo com que o sistema operacional se utilize ao máximo o hardware do servidor. Para isso você só precisa editar o arquivo /etc/security/limits.conf com os seguintes parâmetros: | Por default o kernel Linux já vem com algumas configurações com limites restritos, mas é possível extrapolar algumas dessas configurações fazendo com que o sistema operacional se utilize ao máximo o hardware do servidor. Para isso você só precisa editar o arquivo /etc/security/limits.conf com os seguintes parâmetros: | ||
# número de processos e threads | |||
nproc unlimited | |||
# número de arquivos abertos | |||
nofile 1048576 | |||
# tamanho de locked-in-memory | |||
memlock unlimited | |||
# tamanho da memória virtual | |||
as unlimited | |||
# Tempo de cpu | |||
cpu unlimited | |||
# Tamanho de arquivo | |||
fsize unlimited | |||
# Total de memory-locks | |||
memlock unlimited | |||
# Tamanho da fila de mensageria | |||
msgqueue unlimited | |||
# Total de locks em threads | |||
locks unlimited | |||
== Tunando o Kernel Sysctl == | == Tunando o Kernel Sysctl == |
Edição das 13h57min de 30 de agosto de 2021
Sobre
Olá! Visitante, reunimos aqui, informações sobre o processo de Tunning em sistemas GNU-Linux, este procedimento tende a aumentar o desempenho entre 10% a 40% dependendo do hardware até um pouco mais. Estes ajustes podem auxiliar em momentos que algum sistema ou rede tenham gargalo, ou até mesmo evita um upgrade desnecessário de infra, uma vez que por padrão o Kernel Linux vem em modo conservador, assim mantendo a compatibilidade entre os mais diversos tipos de utilização. Após os ajustes abaixo recomenda-se fazer reboot em seu equipamento, assim efetivando todas as modificações no processo de boot do sistema.
Removendo Kernel Antigo no Linux
https://wiki.projetoroot.com.br/index.php?title=Remover_Kernel_Linux_Antigo
Aumentando os limites do Kernel
Por default o kernel Linux já vem com algumas configurações com limites restritos, mas é possível extrapolar algumas dessas configurações fazendo com que o sistema operacional se utilize ao máximo o hardware do servidor. Para isso você só precisa editar o arquivo /etc/security/limits.conf com os seguintes parâmetros:
# número de processos e threads nproc unlimited # número de arquivos abertos nofile 1048576 # tamanho de locked-in-memory memlock unlimited # tamanho da memória virtual as unlimited # Tempo de cpu cpu unlimited # Tamanho de arquivo fsize unlimited # Total de memory-locks memlock unlimited # Tamanho da fila de mensageria msgqueue unlimited # Total de locks em threads locks unlimited
Tunando o Kernel Sysctl
Este é um outro componente do kernel pelo qual iremos otimizar suas configurações de I/O, redes, swap e escalonamento de processos. Para configurá-lo basta editar o /etc/sysctl.conf com os parâmetros abaixo:
# Aumentando limite do file descriptor fs.file-max = 100000 # Desabilitando memória swap vm.swappiness = 0 # Aumentando range de portas do IP local e de conexões net.ipv4.ip_local_port_range = 10000 65000 net.core.somaxconn = 65000 # Aumentando buffer de rede TCP # Defina o máximo de 16M (16777216) para redes de 1GB and 32M (33554432) ou 54M (56623104) para redes de 10GB net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.core.rmem_default = 16777216 net.core.wmem_default = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 # Aumentando tamanho de pacotes de backlog e buckets net.core.netdev_max_backlog = 50000 net.ipv4.tcp_max_syn_backlog = 30000 net.ipv4.tcp_max_tw_buckets = 2000000 # Habilitando reuso de sockets TCP net.ipv4.tcp_tw_reuse = 1 # Aumentando timeout do TCP para reuso de sockets net.ipv4.tcp_fin_timeout = 10 # Desabilitando início lento de em conexões IDLE net.ipv4.tcp_slow_start_after_idle = 0 # Aumentando buffer de conexões UDP net.ipv4.udp_rmem_min = 8192 net.ipv4.udp_wmem_min = 8192 # Dificultar técnicas de fingerprint net.ipv4.tcp_window_scaling=0 # Cancelamento de conexões se os serviços ativos forem demasiadamente lentos e incapazes de prosseguir a aceitar a conexão net.ipv4.tcp_abort_on_overflow=1 # Desabilitando redirecionamento e roteamento net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.accept_source_route = 0 # Habilitando log de pacotes net.ipv4.conf.all.log_martians = 1 # Aumentando tempo de migração de processos entre cores da cpu e desabilitando auto-agrupamento de processos kernel.sched_migration_cost_ns = 5000000 kernel.sched_autogroup_enabled = 0 # Reducao do tempo de espera entre as conexoes net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_synack_retries = 1
Diminuindo os riscos de ataques Meltdown e Spectre
- Verificar vulnerabilidade:
wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh chmod +x spectre-meltdown-checker.sh ./spectre-meltdown-checker.sh
Desabilitando o Isolamento de tabelas de paginação.
nano /etc/default/grub
- Adicione: GRUB_CMDLINE_LINUX_DEFAULT nopti
ou
- Adicione: spectre_v2=off nopti pti=off
Atualize o Grub
update-grub