tencent cloud

Cloud Virtual Machine

Dinâmicas e anúncios
Dinâmica do produto
Dinâmica de atualização de imagem pública
Anúncio do produto
Introdução do produto
Visão geral da Cloud Virtual Machine
Vantagens do produto
Conceitos básicos
Regiões e zonas
Tutorial
Service Regions and Service Providers
Cobrança do produto
Visão geral de cobrança
Modo de cobrança
Item de cobrança
Converter modo de cobrança
Aquisição de instâncias
Descrição de cobrança de ajustes de configuração
Descrição de cobrança em atraso
Guia de início rápido
Comprar instância Linux personalizada
Comprar instância Windows personalizada
Guia do usuário
Visão geral do guia de operação
Visão geral dos limites de uso
Instância
Instância spot
Instância reservada
Imagem
Armazenamento
Backup e recuperação
Rede
Segurança
Senhas/chaves secretas
Gerenciamento de operação e manutenção
Migrar o servidor
Migração online
Consultoria de migração
Solução de falhas
Falhas relacionados ao login em instâncias Windows
Falhas relacionados ao login em instâncias Linux
Outras falhas relacionadas ao login em instâncias
Falha na execução de instância
Falha de memória em instâncias Linux
Falha de rede
Tutorial prático
Recomendações de seleção da CVM
Configurar o ambiente
Configurar o site
Configurar o aplicativo
Configurar a página visual
Carregar arquivos locais para a CVM
Teste de desempenho de rede
Outros tutoriais práticos
Segurança e conformidade
Gerenciamento de acesso
Rede
Perguntas frequentes
Regiões e zonas
Sobre o faturamento
Instância
Armazenamento
Imagem
Migração de servidor
Rede
Segurança
Operação/manutenção e monitoramento
Gerenciamento de acesso
Serviço NTP
Cenário de aplicação
Agreements
CVM Service Level Agreements
Red Hat Enterprise Linux Image Service Agreement
Public IP Service Level Agreement
Glossário

Introdução aos parâmetros de kernel comuns em instâncias Linux

PDF
Modo Foco
Tamanho da Fonte
Última atualização: 2024-01-23 18:01:00
O Tencent Cloud fornece as imagens públicas do Linux com configurações padrão, mas recomendamos que você configure sysctl separadamente para se adaptar ao seu negócio específico. Este documento descreve as configurações padrão e ideais das imagens públicas do Tencent Cloud no Linux e ajuda a ajustá-las manualmente conforme necessário.
Nota:
Os parâmetros expressos como "-" em Initial Configuration (Configuração inicial) usam as configurações padrão da imagem oficial.
O comando sysctl -w faz com que as configurações entrem em vigor apenas temporariamente, já os parâmetros gravados em /etc/sysctl.conf entram em vigor permanentemente.

Relacionados à rede

Parâmetro
Descrição
Configuração inicial
net.ipv4.tcp_tw_recycle
Esse parâmetro é usado para reciclar a conexão TIME_WAIT rapidamente. Se ativado, o kernel vai verificar o carimbo de data/hora do pacote.Não recomendamos ativar esse parâmetro, porque a perda de pacotes pode ocorrer quando o carimbo de data/hora não estiver aumentando monotonicamente. Esse parâmetro está desativado em versões posteriores do kernel.
0
net.core.somaxconn
Esse parâmetro é usado para definir o estado ESTABLISH no final do handshake triplo quando não há fila ACCEPT. Uma fila ACCEPT mais longa indica baixa taxa de processamento do cliente ou uma intermitência de novas conexões em um curto espaço de tempo. Definir net.core.somaxconn muito baixo pode causar perda de pacotes porque a nova conexão SYN será descartada quando o servidor receber o pacote SYN e a tabela somaxconn estiver cheia. Definir um valor muito alto só é necessário para serviço de alta simultaneidade, mas a latência pode aumentar.
128
net.ipv4.tcp_max_syn_backlog
Esse parâmetro especifica a quantidade máxima de conexões na fila SYN_RECV, que já foi usada para defender contra ataques flood de syn comuns. No entanto, se tcp_syncookies=1, as conexões na fila SYN_RECV excederão o limite superior.
-
net.ipv4.tcp_syncookies
Esse parâmetro é usado para ativar os cookies de SYN, o que evita alguns ataques de SYN. Se ativado, as conexões ainda podem ser estabelecidas quando a fila de SYN estiver sobrecarregada. No entanto, SHA1 será usado para verificar os cookies, o que teoricamente aumenta a utilização da CPU.
1
net.core.rmem_defaultnet.core.rmem_maxnet.ipv4.tcp_memnet.ipv4.tcp_rmem
Esses parâmetros são usados para configurar o tamanho do cache dos dados recebidos. Definir valores muito altos pode desperdiçar recursos de memória, já os definir muito baixo pode causar perda de pacotes. Você pode ajustá-los de acordo com a simultaneidade e a taxa de transferência do seu negócio.
rmem_default: a configuração ideal na teoria é igual ao valor da largura de banda dividido pelo RTT, que substituirá as configurações de tcp_rmem e tcp_rmem
rmem_max: aproximadamente cinco vezes rmem_default
tcp_mem: memória TCP total consumida, que é automaticamente definida como 3/32, 1/8 ou 3/16 da memória disponível do CVM. Os parâmetros tcp_mem e rmem_default também determinam a quantidade máxima de conexões simultâneas.
rmem_default=655360rmem_max=3276800
net.core.wmem_defaultnet.core.wmem_maxnet.ipv4.tcp_wmem
Esses parâmetros são usados para configurar o cache de transmissão de dados. O envio de dados no Tencent Cloud não costuma ter gargalos, então essas configurações são opcionais.
-
net.ipv4.tcp_keepalive_intvlnet.ipv4.tcp_keepalive_probesnet.ipv4.tcp_keepalive_time
Esses parâmetros são relevantes para o Keepalive TCP, cujo padrão é 75/9/7200. As configurações padrões indicam que o kernel iniciará a detecção quando uma conexão TCP estiver inativa por 7.200 segundos e enviará RST após 9 falhas de detecção (cada uma por 75 segundos). Esses valores são muito altos para um servidor. Você pode ajustá-los para 30/3/1800 conforme necessário.
-
net.ipv4.ip_local_port_range
Esse parâmetro é usado para configurar o intervalo de portas disponível, que pode ser ajustado conforme necessário.
-
tcp_tw_reuse
Esse parâmetro é usado para reutilizar um soquete no estado TIME-WAIT para novas conexões TCP. Isso ajuda a reiniciar rapidamente links que usam portas fixas, mas pode envolver riscos na rede baseada em NAT. As versões posteriores do kernel aceitam os valores 0, 1 e 2 e configuram-no para 2.
-
net.ipv4.ip_forwardnet.ipv6.conf.all.forwarding
Esse parâmetro é usado para especificar o encaminhamento de IP. Você pode configurá-lo para 1 no cenário de encaminhamento de rota do Docker.
0
net.ipv4.conf.default.rp_filter
Esse parâmetro é usado para especificar a regra de validação de caminho reverso de ENI em pacotes de dados recebidos. Os valores válidos incluem 0, 1 (recomendado pela RFC3704) e 2. A configuração recomendada é um modo estrito que pode evitar ataques de DDoS e atos de falsificação de IP.
-
net.ipv4.conf.default.accept_source_route
Esse parâmetro é usado para especificar se os pacotes de IP contendo rotas de origem devem ser aceitos, o que não é permitido por padrão, conforme recomendado no site do CentOS.
0
net.ipv4.conf.all.promote_secondariesnet.ipv4.conf.default.promote_secondaries
Esse parâmetro é usado para especificar se um endereço IP secundário se tornará um IP principal depois que o endereço IP principal original for excluído.
1
net.ipv6.neigh.default.gc_thresh3net.ipv4.neigh.default.gc_thresh3
Esse parâmetro é usado para definir a quantidade máxima de registros armazenada no cache ARP. O coletor de lixo inicia imediatamente quando os registros armazenados excedem o valor definido.
4096

Relacionados à memória

Parâmetro
Descrição
Configuração inicial
vm.vfs_cache_pressure
Ele controla a tendência do kernel de recuperar a memória. No valor padrão de 100, o kernel tentará recuperar as dentries de volta para a memória. Os serviços baseados em curl costumam acumular dentries, que podem usar toda a memória livre e causar OOM ou bug no kernel. Nós o configuramos para 250 para equilibrar a frequência de recuperação e o desempenho, que é ajustável.
250
vm.min_free_kbytes
Esse parâmetro é usado para forçar a MEM do Linux a manter uma quantidade mínima de kilobytes de memória livre para uso pelas threads do kernel. O valor é calculado automaticamente de acordo com a memória física livre (MEM) na inicialização por: 4*raiz (MEM). Quando o servidor recebe microintermitências de pacotes, seu servidor pode ficar sutilmente interrompido e causar OOM. Em um servidor de alta configuração, recomendamos configurar vm.min_free_kbytes em cerca de 1% da memória total por padrão.
-
kernel.printk
Ele especifica o nível da função de impressão printk do kernel. A configuração padrão é cinco ou superior.
5 4 1 7
kernel.numa_balancing
Ele indica que o kernel pode mover processos de forma automática para o nó NUMA correspondente, mas é ineficaz e afeta o desempenho. Você pode tentar ativá-lo nos casos de uso do Redis.
0
kernel.shmallkernel.shmmax
shmmax: define o tamanho máximo de um único segmento de memória compartilhada (em bytes) que um processo Linux pode alocar.
shmall: define a quantidade total de páginas de memória compartilhada em todo o sistema.
kernel.shmmax=68719476736kernel.shmall=4294967296

Relacionados ao processo

Parâmetro
Descrição
Configuração inicial
fs.file-maxfs.nr_open
Eles denotam a quantidade máxima de identificadores de arquivo que o kernel do Linux ou um processo pode alocar, respectivamente.
file-max: configura de forma automática para aproximadamente 100.000/GB quando o sistema operacional inicia.
nr_open: define o valor fixo de 1048576, que limita o máximo de identificadores de arquivos abertos em um ambiente de modo de usuário. De forma geral, mantenha esse valor inalterado. Para modificar o máximo de identificadores de arquivos abertos, configure o parâmetro ulimit -n no arquivo de configuração /etc/security/limits.conf.
ulimit -n=100001fs.nr_open=1048576
kernel.pid_max
Ele especifica a quantidade máxima de processos em um sistema. A imagem oficial usa o valor padrão de 32768, que pode ser ajustado conforme necessário.
-
kernel.core_uses_pid
Ele determina se o nome do arquivo coredump gerado conterá .PID.
1
kernel.sysrq
Ele permite que você opere em /proc/sysrq-trigger posteriormente.
1
kernel.msgmnbkernel.msgmax
Eles definem o tamanho máximo em bytes de uma única fila de mensagens e o tamanho máximo permitido em bytes de mensagens únicas em uma fila de mensagens, respectivamente
65536
kernel.softlockup_panic
Ele controla se o kernel entrará em estado de emergência quando um travamento temporário for detectado. Se ativado, um vmcore será gerado com base na configuração do kdump, que pode ser usado para analisar a causa do travamento temporário.
-

Relacionados à E/S

Parâmetro
Descrição
Configuração inicial
vm.dirty_background_bytesvm.dirty_background_ratiovm.dirty_bytesvm.dirty_expire_centisecsvm.dirty_ratiovm.dirty_writeback_centisecs
Esses parâmetros são usados principalmente para configurar a política de E/S sendo gravada de volta no disco.
dirty_background_bytes/dirty_bytes e dirty_background_ratio/dirty_ratio se refere à quantidade e à porcentagem de memória do sistema que pode ser preenchida com páginas "sujas", respectivamente. Em geral, a taxa será especificada.
dirty_background_ratio: refere-se a uma porcentagem de páginas sujas na memória do sistema (10% por padrão) na qual os processos de liberação do kernel em segundo plano começarão a gravar de volta no disco.
dirty_ratio: refere-se à quantidade máxima absoluta de memória do sistema que pode ser preenchida com páginas sujas antes que tudo seja confirmado no disco. Quando o sistema chega a este ponto, todas as E/S são bloqueadas até que as páginas sujas tenham sido gravadas no disco, causando longas pausas de E/S. Primeiro, o sistema obterá a condição `vm.dirty_background_ratio` na qual os processos de liberação iniciarão um write-back assíncrono e os aplicativos continuarão a gravar. Quando o sistema atingir o valor especificado de `vm.dirty_ratio`, o sistema operacional vai lidar com as páginas sujas de forma síncrona, bloqueando os aplicativos.
vm.dirty_expire_centisecs: especifica por quanto tempo a página suja pode ficar no cache antes de precisar ser gravada. É expresso em centésimos de segundo. Os dados que ficaram sujos na memória por mais tempo do que esse intervalo serão gravados na próxima vez que um processo de limpeza for ativado.
vm.dirty_writeback_centisecs: especifica com que frequência os processos de liberação do kernel são ativados. É expresso em centésimos de segundo.

-


Ajuda e Suporte

Esta página foi útil?

comentários