Todos os produtos
Search
Central de documentação

Alibaba Cloud Linux:Interface de otimização do JBD2

Última atualização: Jun 29, 2026

O Alibaba Cloud Linux oferece duas interfaces de kernel, force_copy e stats, para otimizar o desempenho do JBD2 em sistemas de arquivos ext4. Use force_copy para reduzir a latência de journaling causada pelo estado BH_Shadow e stats para diagnosticar se o JBD2 é a source de problemas de qualidade de serviço (QoS) do sistema de arquivos.

Funcionamento

O ext4 é um sistema de arquivos com journaling amplamente utilizado. O JBD2 é a thread de kernel que gerencia o journal do ext4 e atua como recurso global do sistema de arquivos. Quando o JBD2 acessa uma página de cache no estado BH_Shadow, precisa aguardar a gravação da página de volta no disco. Isso aumenta a latência de E/S e degrada o desempenho geral.

A interface force_copy copia a página de cache em vez de esperar a liberação do estado BH_Shadow, o que reduz o tempo de bloqueio do JBD2 durante a gravação no disco.

Versões compatíveis

Distribuição

Versão mínima do kernel

Alibaba Cloud Linux 2

4.19.81-17.al7

Alibaba Cloud Linux 3

Todas as versões

Referência da interface

force_copy

Propriedade

Valor

Caminho

/proc/fs/jbd2/<device>-8/force_copy

Padrão

Desativado (0)

Valores válidos

1 (ative), 0 (desativar)

Função

Força a cópia da página de cache para evitar a espera pelo estado BH_Shadow

Substitua <device> pelo nome do dispositivo de armazenamento em bloco, como nvme0n1.

Importante

Ative force_copy aumenta o consumo de memória. Verifique a memória disponível antes de ativar esse recurso em instâncias com pouca memória.

stats

Propriedade

Valor

Caminho

/proc/fs/jbd2/<device>-8/stats

Função

Exibe estatísticas de transação do JBD2 para diagnosticar problemas de QoS do sistema de arquivos

Substitua <device> pelo nome do dispositivo de armazenamento em bloco, como nvme0n1.

Ative force_copy

Execute o comando a seguir para ative force_copy. Substitua nvme0n1 pelo nome do seu dispositivo de armazenamento em bloco.

echo 1 > /proc/fs/jbd2/nvme0n1-8/force_copy

Para desativar force_copy:

echo 0 > /proc/fs/jbd2/nvme0n1-8/force_copy

Leia a saída de stats

Execute o comando a seguir para consultar as estatísticas de transação do JBD2:

cat /proc/fs/jbd2/nvme0n1-8/stats

Exemplo de saída:

337 336 65536 0 14837 1701504 16 0 20058 5 33082732 605 942 1000 1000

A saída contém 15 campos separados por espaços. A tabela a seguir descreve cada campo.

Campo

Posição

Descrição

ID da transação

ID da transação atual

Transações solicitadas

Quantidade de transações solicitadas

Máximo de transações em cache

Número máximo de transações armazenadas em cache

Tempo de espera

Tempo de espera da transação para processamento

Latência da solicitação

Latência da solicitação da transação

Tempo de execução

Duração da execução da transação

Tempo de bloqueio

Duração do bloqueio da transação

Tempo de flush

Tempo necessário para fazer o flush da transação

Tempo de log

Tempo necessário para registrar a transação no log

Tempo médio de commit

10º

Tempo médio para confirmar a transação

Handles

11º

Quantidade de handles na transação

Blocos

12º

Número de blocos na transação

Blocos registrados

13º

Quantidade de blocos gravados para a transação

Constante de tempo (Hz)

14º

Constante de tempo do kernel (CONFIG_HZ). Unidade: hertz

Constante de tempo (ms)

15º

Constante de tempo do kernel. Unidade: milissegundos

Use os campos 14 e 15 para converter os campos baseados em tempo de ticks para a unidade desejada. Compare a saída de stats antes e depois de ative force_copy para medir a melhoria de latência na sua carga de trabalho.