Todos os produtos
Search
Central de documentação

Alibaba Cloud Linux:Monitoramento de Shared Memory Communications (SMC)

Última atualização: Jun 29, 2026

Monitore a integridade do Shared Memory Communication (SMC) acompanhando as estatísticas da pilha de protocolos, as conexões ativas e o estado dos dispositivos RDMA subjacentes. As ferramentas do pacote smc-tools coletam todas as métricas.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Alibaba Cloud Linux 3 instalado na instância

  • smc-tools instalado (conjunto de ferramentas de manutenção SMC em modo usuário)

Para instalar o smc-tools, execute:

sudo yum install -y smc-tools

Monitorar pilhas de protocolos

A pilha SMC expõe métricas de conexão, tráfego e memória compartilhada ao espaço de usuário via netlink. O comando smcr lê e interpreta essas métricas.

Consultar estatísticas da pilha SMC-R

Execute smcr stats para consultar estatísticas sobre a pilha SMC over Remote Direct Memory Access (SMC-R) no namespace de rede atual:

smcr stats

Saída de exemplo:

# smcr stats
SMC-R Connections Summary
  Total connections handled          5076
  SMC connections                    5076
  Handshake errors                      0
  Avg requests per SMC conn          1977.0
  TCP fallback                          0

RX Stats
  Data transmitted (Bytes)      200705600 (200.7M)
  Total requests                  5017741
  Buffer usage (Bytes)                  0 (0)
  Buffer full                           0 (0.00%)
            8KB    16KB    32KB    64KB   128KB   256KB   512KB  >512KB
  Bufs        0       0       0       0       0  5.076K       0       0
  Reqs   5.018M       0       0       0       0       0       0       0

TX Stats
  Data transmitted (Bytes)     1194173445 (1.194G)
  Total requests                  5017640
  Buffer usage (Bytes)                  0 (0)
  Buffer full                           0 (0.00%)
  Buffer full (remote)                  0 (0.00%)
  Buffer too small                      0 (0.00%)
  Buffer too small (remote)             0 (0.00%)
            8KB    16KB    32KB    64KB   128KB   256KB   512KB  >512KB
  Bufs        0       0       0       0       0  5.076K       0       0
  Reqs   5.018M       0       0       0       0       0       0       0

Extras
  Special socket calls                  5

A tabela a seguir descreve os principais parâmetros.

Parâmetro

Descrição

Total connections handled

Total de conexões processadas pela pilha SMC-R. Corresponde à soma de SMC connections, Handshake errors e TCP fallback.

SMC connections

Conexões convertidas com sucesso para SMC-R.

Handshake errors

Conexões com falha durante a fase de handshake (por exemplo, sem resposta do par).

Avg requests per SMC conn

Média de solicitações enviadas ou recebidas por conexão SMC.

TCP fallback

Conexões revertidas para TCP/IP após falha na negociação SMC.

Rx/Data transmitted (Bytes)

Total de bytes recebidos pelas conexões SMC-R.

Rx/Total requests

Total de solicitações recebidas pelas conexões SMC-R.

Rx/Buffer usage (Bytes)

Tamanho total dos buffers Rx em uso. Unidade: bytes.

Rx/Buffer full

Quantidade de vezes que os buffers Rx ficaram cheios. Um buffer Rx cheio aplica contrapressão no remetente e impede a chegada de novos dados. Para reduzir essa contagem, configure a aplicação para ler o buffer Rx mais rapidamente ou aumente o tamanho desse buffer.

Rx/Bufs

Distribuição dos tamanhos de buffer Rx alocados para conexões SMC-R. O SMC-R mantém um pool de memória por grupo de links. Ao abrir uma conexão, o SMC-R aloca um bloco ocioso do tamanho adequado no pool (ou cria um novo). Ao fechar a conexão, o bloco retorna ao pool. Este contador rastreia o total de alocações — incluindo blocos criados e reutilizados — e não o número de buffers consumindo memória ativamente.

Rx/Reqs

Distribuição de tamanho das solicitações recebidas pelas conexões SMC-R.

Tx/Data transmitted (Bytes)

Total de bytes enviados pelas conexões SMC-R.

Tx/Total requests

Total de solicitações enviadas pelas conexões SMC-R.

Tx/Buffer full

Quantidade de vezes que os buffers Tx ficaram cheios porque a pilha SMC-R não conseguiu liberar dados para o link a tempo. Se essa porcentagem for alta, aumente o tamanho do buffer Tx.

Tx/Buffer full (remote)

Quantidade de vezes que o buffer Rx do par estava cheio, impedindo o envio pelo lado local. Se essa porcentagem for alta, aumente o tamanho do buffer Rx do par.

Tx/Buffer too small

Quantidade de vezes que uma solicitação de envio excedeu a capacidade do buffer Tx. Se essa porcentagem for alta, aumente o tamanho do buffer Tx.

Tx/Buffer too small (remote)

Quantidade de vezes que uma solicitação de envio excedeu a capacidade do buffer Rx do par. Se essa porcentagem for alta, aumente o tamanho do buffer Rx do par.

Tx/Bufs

Distribuição dos tamanhos de buffer Tx alocados para conexões SMC-R. Segue a mesma lógica de pool de Rx/Bufs — rastreia o total de alocações, não os buffers alocados ativamente que consomem memória.

Tx/Reqs

Distribuição de tamanho das solicitações enviadas pelas conexões SMC-R.

Consultar estatísticas de grupos de links

Nota

Por padrão, cada grupo de links contém um link e pode transportar até 32 conexões SMC-R. Um grupo de links gerencia um conjunto de recursos RDMA, incluindo Queue Pairs (QPs), Protection Domains (PDs) e Memory Registrations (MRs).

Execute smcr linkgroup para listar todos os grupos de links SMC-R associados a dispositivos RDMA acessíveis no namespace de rede atual:

smcr linkgroup

Saída de exemplo:

# smcr linkgroup
LG-ID    LG-Role  LG-Type  VLAN  #Conns  PNET-ID
00000300 SERV     SINGLE      0       0

Monitore o número de grupos de links (equivalente ao número de QPs em uso) e o campo #Conns:

Parâmetro

Descrição

#Conns

Número de conexões SMC transportadas pelo grupo de links.

Para obter informações detalhadas sobre o grupo de links, execute:

smcr -d linkgroup

Saída de exemplo:

LG-ID    : 00000500
LG-Role  : CLNT
LG-Type  : SINGLE
VLAN     : 0
PNET-ID  :
Version  : 2
Peer-Rel : 1
Peer-Host:
Peer-OS  : LINUX
Direct   : Yes
EID      : SMCV2-DEFAULT-UEID
#Conns   : 32
Sndbuf   : 8388608 B
CNY      : 8388608 B

Parâmetro

Descrição

Sndbuf

Memória total ocupada pelo pool de buffers Tx mantido pelo grupo de links. Unidade: bytes.

CNY

Memória total ocupada pelo pool de buffers Rx mantido pelo grupo de links. Unidade: bytes.

Consultar informações de dispositivos RDMA

Execute smcr device para listar os dispositivos RDMA usados pela pilha SMC-R:

smcr device

Saída de exemplo:

# smcr device
Net-Dev         IB-Dev   IB-P  IB-State  Type          Crit  #Links  PNET-ID
eth1            erdma_0     1    ACTIVE  0x107f          No       0

Parâmetro

Descrição

Net-Dev

Nome do dispositivo Ethernet.

IB-Dev

Nome do dispositivo RDMA.

IB-P

Porta do dispositivo RDMA.

IB-State

Status do dispositivo RDMA.

Type

Tipo do dispositivo RDMA. Dispositivos elastic Remote Direct Memory Access (eRDMA) da Alibaba Cloud exibem 0x107f.

#Links

Número de links associados ao dispositivo RDMA.

PNET-ID

ID de rede física (PNET) do dispositivo RDMA. Para detalhes de configuração, consulte Configurar parâmetros de PNET ID.

Monitorar conexões

O comando smcss exibe informações sobre sockets SMC, semelhante ao comando ss. Ele recupera informações de sockets via netlink, abrangendo tanto sockets com negociação SMC bem-sucedida quanto aqueles revertidos para TCP.

Por padrão, o smcss lista sockets SMC em conexão, fechamento e conectados no namespace de rede atual.

Consultar informações básicas de sockets

smcss

Saída de exemplo:

# smcss
State          UID   Inode   Local Address           Peer Address            Intf Mode
ACTIVE         00994 2954337 xxx.xxx.x.xx:80         xxx.xxx.x.xx:36000      0000 SMCR
ACTIVE         00994 2953297 xxx.xxx.x.xx:80         xxx.xxx.x.xx:35948      0000 TCP 0x03010000

Parâmetro

Descrição

State

Status do socket. Valores válidos: INIT (inicializando), CLOSED (fechado), LISTEN (ouvindo), ACTIVE (conexão estabelecida), PEERCLW1 (nenhum dado adicional enviado ao par), PEERCLW2 (nenhum dado adicional enviado ou recebido do par), APPLCLW1 (nenhum dado adicional recebido do par), APPLCLW2 (nenhum dado adicional recebido ou enviado ao par), APPLFINCLW (o par fechou o socket), PEERFINCLW (socket fechado localmente), PEERABORTW (socket fechado localmente em estado anormal), PROCESSABORT (o par fechou o socket de forma anormal).

Local Address

Endereço e porta IPv4 local ou IPv6 mapeado para IPv4. O SMC suporta apenas IPv4.

Peer Address

Endereço e porta IPv4 do par ou IPv6 mapeado para IPv4. O SMC suporta apenas IPv4.

Mode

Modo de comunicação. SMCR indica que a conexão opera na pilha SMC-R. TCP <fallback reason> indica reversão para TCP/IP. Um código numérico indica o motivo da reversão. Para a lista completa de códigos de reversão, consulte Retorno para TCP/IP após habilitar o SMC.

Consultar sockets em escuta

smcss -l

Os campos de saída são os mesmos do smcss.

Consultar detalhes de sockets SMC-R

smcss -R

Saída de exemplo:

# smcss -R
State          UID   Inode   Local Address           Peer Address            Intf Mode Role IB-device       Port Linkid GID                                      Peer-GID
ACTIVE         00000 1833669 xxx.xxx.x.xx:33618      xxx.xxx.x.xx:80         0000 SMCR CLNT erdma_0         01   01     0000:0000:0000:0000:0000:xxxx:xxxx:xxxx  0000:0000:0000:0000:0000:xxxx:xxxx:xxxx

Além dos campos básicos do smcss, o comando smcss -R adiciona os seguintes:

Parâmetro

Descrição

IB-device

Nome do dispositivo RDMA usado na conexão.

Port

Porta do dispositivo RDMA usado na conexão.

GID

Global ID (GID) do dispositivo RDMA usado na conexão.

Peer-GID

GID do dispositivo RDMA do par.

Consultar todos os sockets

smcss -a

Os campos de saída são os mesmos do smcss.

Monitorar dispositivos

O SMC-R utiliza dispositivos eRDMA da Alibaba Cloud como infraestrutura RDMA subjacente. O eRDMA fornece ferramentas em modo usuário para coletar estatísticas sobre recursos RDMA e o estado do dispositivo. Para detalhes, consulte Monitorar e diagnosticar eRDMA.

Monitoramento integrado com smc_monitor_ex

O smc_monitor_ex é um script de monitoramento incluído no smc-tools. Ele chama internamente os comandos smcr e smcss para relatar taxas de tráfego SMC, contagens de conexões e uso de memória em uma única visualização.

Aviso

O smc_monitor_ex é uma ferramenta experimental. Sua interface pode mudar em versões futuras.

Execute smc_monitor_ex -h para ver os subcomandos disponíveis:

# smc_monitor_ex -h
usage: smc_monitor_ex [-h] {speed,s,connection,c,memory,m,base,b} ...

SMC Monitor Tool (Experimental)

positional arguments:
  {speed,s,connection,c,memory,m,base,b}
                        commands
    speed (s)           View transfer rates
    connection (c)      View connection counts
    memory (m)          View memory usages
    base (b)            View transfer rates, connection counts, and memory
                        usages

optional arguments:
  -h, --help            show this help message and exit

Monitorar taxas de tráfego

O subcomando speed relata a taxa de tráfego SMC e solicitações por segundo (RPS) no namespace de rede atual.

# smc_monitor_ex speed -h
usage: smc_monitor_ex speed [-h] [-i INTERVAL] [-r] [-m {smcr,smcd,smc}]

optional arguments:
  -h, --help            show this help message and exit
  -i INTERVAL, --interval INTERVAL
                        Interval in seconds to display transfer rates.
  -r, --raw             Display rates in B/s without converting units.
  -m {smcr,smcd,smc}, --mode {smcr,smcd,smc}
                        Mode to check, either 'smc', 'smcr' or 'smcd', default
                        is 'smc'

Por exemplo, para consultar a taxa de tráfego SMC-R e RPS a cada segundo:

# smc_monitor_ex speed -m smcr -i 1
Date                  Mode            Rx Rate            Rx Rps           Tx Rate            Tx Rps
2025-02-21 14:01:48   smcr            0.0 B/s            0.0 /s           0.0 B/s            0.0 /s
Date                  Mode            Rx Rate            Rx Rps           Tx Rate            Tx Rps
2025-02-21 14:01:49   smcr            0.0 B/s            0.0 /s           0.0 B/s            0.0 /s
Date                  Mode            Rx Rate            Rx Rps           Tx Rate            Tx Rps
2025-02-21 14:01:50   smcr            0.0 B/s            0.0 /s           0.0 B/s            0.0 /s

Monitorar contagens de conexões

O subcomando connection relata o número de conexões SMC ativas e conexões de retorno TCP no namespace de rede atual.

# smc_monitor_ex connection -h
usage: smc_monitor_ex connection [-h] [-i INTERVAL]
                                 [-m {smc,smcr,smcd,fallback,all}]

optional arguments:
  -h, --help            show this help message and exit
  -i INTERVAL, --interval INTERVAL
                        Interval in seconds to display connections.
  -m {smc,smcr,smcd,fallback,all}, --mode {smc,smcr,smcd,fallback,all}
                        Mode to check, either 'all', 'smc', 'smcr', 'smcd' or
                        'fallback', default is 'all'

Por exemplo, para consultar o número de conexões SMC-R a cada segundo:

# smc_monitor_ex connection -m smcr -i 1
Date                  Mode                 #Conn
2025-02-21 14:06:47   smcr                     0
Date                  Mode                 #Conn
2025-02-21 14:06:48   smcr                     0
Date                  Mode                 #Conn
2025-02-21 14:06:49   smcr                     0

Monitorar uso de memória

O subcomando memory relata o tamanho total dos buffers circulares usados pelas conexões SMC no namespace de rede atual.

# smc_monitor_ex memory -h
usage: smc_monitor_ex memory [-h] [-i INTERVAL] [-r] [-m {smcr,smcd,smc}]

optional arguments:
  -h, --help            show this help message and exit
  -i INTERVAL, --interval INTERVAL
                        Interval in seconds to display ringbuf usages.
  -r, --raw             Display memory usages in bytes without converting
                        units.
  -m {smcr,smcd,smc}, --mode {smcr,smcd,smc}
                        Mode to check, either 'smcr', 'smcd' or 'smc', default
                        is 'smc'

Por exemplo, para consultar o uso de buffer circular SMC-R a cada segundo:

# smc_monitor_ex memory -m smcr -i 1
Date                  Mode            Rx Bufs           Tx Bufs
2025-01-06 15:14:20   smcr          512.00 KB         512.00 KB
Date                  Mode            Rx Bufs           Tx Bufs
2025-01-06 15:14:21   smcr          512.00 KB         512.00 KB

Visualizar todas as estatísticas simultaneamente

O subcomando base combina taxas de tráfego, contagens de conexões e uso de memória em uma única saída.

Por exemplo, para consultar todas as estatísticas SMC-R a cada segundo:

# smc_monitor_ex base -m smcr -i 1
Date                  Mode             Rx Rate      Rx Rps        Tx Rate      Tx Rps     #Conn     Rx Bufs     Tx Bufs
2025-01-06 15:17:23   smcr           1.81 GB/s   21.66 K/s          0 B/s        0 /s         2   512.00 KB   512.00 KB
Date                  Mode             Rx Rate      Rx Rps        Tx Rate      Tx Rps     #Conn     Rx Bufs     Tx Bufs
2025-01-06 15:17:24   smcr           1.82 GB/s   21.81 K/s          0 B/s        0 /s         2   512.00 KB   512.00 KB