All Products
Search
Document Center

Alibaba Cloud Linux:Pemantauan Shared Memory Communications (SMC)

Last Updated:Apr 02, 2026

Pantau kondisi Shared Memory Communication (SMC) dengan melacak statistik tumpukan protokol, koneksi aktif, dan status perangkat RDMA yang mendasarinya. Semua metrik dikumpulkan menggunakan tool dari paket smc-tools.

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • menginstal Alibaba Cloud Linux 3 pada instans Anda

  • menginstal smc-tools (kumpulan tool maintenance SMC mode pengguna)

Untuk menginstal smc-tools, jalankan:

sudo yum install -y smc-tools

Pantau tumpukan protokol

Tumpukan SMC mengekspos metrik koneksi, lalu lintas, dan memori bersama ke ruang pengguna melalui netlink. Perintah smcr membaca dan menginterpretasikan metrik ini.

Kueri statistik tumpukan SMC-R

Jalankan smcr stats untuk mengkueri statistik tentang tumpukan SMC over Remote Direct Memory Access (SMC-R) di namespace net saat ini:

smcr stats

Contoh output:

# 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

Tabel berikut menjelaskan parameter utama.

ParameterDeskripsi
Total connections handledTotal koneksi yang ditangani oleh tumpukan SMC-R. Sama dengan jumlah dari SMC connections, Handshake errors, dan TCP fallback.
SMC connectionsKoneksi yang berhasil dikonversi ke SMC-R.
Handshake errorsKoneksi yang gagal selama fase handshake (misalnya, tidak ada respons dari peer).
Avg requests per SMC connJumlah rata-rata permintaan yang dikirim atau diterima per koneksi SMC.
TCP fallbackKoneksi yang beralih kembali ke TCP/IP setelah negosiasi SMC gagal.
Rx/Data transmitted (Bytes)Total byte yang diterima melalui koneksi SMC-R.
Rx/Total requestsTotal permintaan yang diterima melalui koneksi SMC-R.
Rx/Buffer usage (Bytes)Ukuran total buffer Rx yang sedang digunakan. Satuan: byte.
Rx/Buffer fullJumlah kali buffer Rx menjadi penuh. Buffer Rx yang penuh menyebabkan tekanan balik ke pengirim dan mencegah data baru masuk. Untuk mengurangi angka ini, konfigurasikan aplikasi Anda agar membaca dari buffer Rx lebih cepat, atau tingkatkan ukuran buffer Rx.
Rx/BufsDistribusi ukuran buffer Rx yang dialokasikan ke koneksi SMC-R. SMC-R mempertahankan kolam memori per kelompok link. Saat koneksi dibuka, SMC-R mengalokasikan blok idle dengan ukuran yang sesuai dari kolam (atau membuat yang baru). Saat koneksi ditutup, blok tersebut dikembalikan ke kolam. Penghitung ini melacak total alokasi—termasuk blok yang dibuat maupun yang digunakan ulang—bukan jumlah buffer yang secara aktif mengonsumsi memori.
Rx/ReqsDistribusi ukuran permintaan yang diterima melalui koneksi SMC-R.
Tx/Data transmitted (Bytes)Total byte yang dikirim melalui koneksi SMC-R.
Tx/Total requestsTotal permintaan yang dikirim melalui koneksi SMC-R.
Tx/Buffer fullJumlah kali buffer Tx menjadi penuh karena tumpukan SMC-R tidak dapat mengosongkan data ke link tepat waktu. Jika persentase ini tinggi, tingkatkan ukuran buffer Tx.
Tx/Buffer full (remote)Jumlah kali buffer Rx peer penuh, sehingga mencegah ujung lokal mengirim data. Jika persentase ini tinggi, tingkatkan ukuran buffer Rx peer.
Tx/Buffer too smallJumlah kali permintaan kirim melebihi kapasitas buffer Tx. Jika persentase ini tinggi, tingkatkan ukuran buffer Tx.
Tx/Buffer too small (remote)Jumlah kali permintaan kirim melebihi kapasitas buffer Rx peer. Jika persentase ini tinggi, tingkatkan ukuran buffer Rx peer.
Tx/BufsDistribusi ukuran buffer Tx yang dialokasikan ke koneksi SMC-R. Mengikuti logika kolam yang sama seperti Rx/Bufs—melacak total alokasi, bukan buffer yang secara aktif mengonsumsi memori.
Tx/ReqsDistribusi ukuran permintaan yang dikirim melalui koneksi SMC-R.

Kueri statistik kelompok link

Catatan

Secara default, setiap kelompok link berisi satu link dan dapat membawa hingga 32 koneksi SMC-R. Kelompok link mengelola serangkaian sumber daya RDMA, termasuk Queue Pairs (QPs), Protection Domains (PDs), dan Memory Registrations (MRs).

Jalankan smcr linkgroup untuk mencantumkan semua kelompok link SMC-R yang terkait dengan perangkat RDMA yang dapat diakses di namespace net saat ini:

smcr linkgroup

Contoh output:

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

Pantau jumlah kelompok link (yang sama dengan jumlah QP yang digunakan) dan bidang #Conns:

ParameterDeskripsi
#ConnsJumlah koneksi SMC yang dibawa oleh kelompok link.

Untuk informasi detail kelompok link, jalankan:

smcr -d linkgroup

Contoh output:

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
ParameterDeskripsi
SndbufTotal memori yang ditempati oleh kolam buffer Tx yang dipertahankan oleh kelompok link. Satuan: byte.
CNYTotal memori yang ditempati oleh kolam buffer Rx yang dipertahankan oleh kelompok link. Satuan: byte.

Kueri informasi perangkat RDMA

Jalankan smcr device untuk mencantumkan perangkat RDMA yang digunakan oleh tumpukan SMC-R:

smcr device

Contoh output:

# smcr device
Net-Dev         IB-Dev   IB-P  IB-State  Type          Crit  #Links  PNET-ID
eth1            erdma_0     1    ACTIVE  0x107f          No       0
ParameterDeskripsi
Net-DevNama perangkat Ethernet.
IB-DevNama perangkat RDMA.
IB-PPort perangkat RDMA.
IB-StateStatus perangkat RDMA.
TypeJenis perangkat RDMA. Perangkat Alibaba Cloud elastic Remote Direct Memory Access (eRDMA) menampilkan 0x107f.
#LinksJumlah link yang terkait dengan perangkat RDMA.
PNET-IDID jaringan fisik (PNET) perangkat RDMA. Untuk detail konfigurasi, lihat Konfigurasi parameter PNET ID.

Pantau koneksi

smcss mencetak informasi tentang socket SMC, mirip dengan perintah ss. Perintah ini mengambil informasi socket dari netlink, mencakup baik socket yang berhasil melakukan negosiasi SMC maupun yang beralih kembali ke TCP.

Secara default, smcss mencantumkan socket SMC yang sedang menghubungkan, menutup, dan terhubung di namespace net saat ini.

Kueri informasi dasar socket

smcss

Contoh output:

# 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
ParameterDeskripsi
StateStatus socket. Nilai valid: INIT (menginisialisasi), CLOSED (ditutup), LISTEN (mendengarkan), ACTIVE (koneksi terbentuk), PEERCLW1 (tidak mengirim data lagi ke peer), PEERCLW2 (tidak mengirim atau menerima data lagi dari peer), APPLCLW1 (tidak menerima data lagi dari peer), APPLCLW2 (tidak menerima atau mengirim data lagi ke peer), APPLFINCLW (peer menutup socket), PEERFINCLW (socket ditutup secara lokal), PEERABORTW (socket ditutup secara lokal dalam kondisi abnormal), PROCESSABORT (peer menutup socket secara abnormal).
Local AddressAlamat IPv4 atau IPv4-mapped IPv6 lokal dan port-nya. SMC hanya mendukung IPv4.
Peer AddressAlamat IPv4 atau IPv4-mapped IPv6 peer dan port-nya. SMC hanya mendukung IPv4.
ModeMode komunikasi. SMCR berarti koneksi berjalan di tumpukan SMC-R. TCP <fallback reason> berarti koneksi beralih kembali ke TCP/IP. Kode numerik menunjukkan alasan fallback. Untuk daftar lengkap kode fallback, lihat Fallback ke TCP/IP setelah mengaktifkan SMC.

Kueri socket yang mendengarkan

smcss -l

Bidang outputnya sama seperti smcss.

Kueri detail socket SMC-R

smcss -R

Contoh output:

# 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

Selain bidang dasar smcss, smcss -R menambahkan hal berikut:

ParameterDeskripsi
IB-deviceNama perangkat RDMA yang digunakan untuk koneksi.
PortPort perangkat RDMA yang digunakan untuk koneksi.
GIDGlobal ID (GID) perangkat RDMA yang digunakan untuk koneksi.
Peer-GIDGID perangkat RDMA peer.

Kueri semua socket

smcss -a

Bidang outputnya sama seperti smcss.

Pantau perangkat

SMC-R menggunakan perangkat eRDMA Alibaba Cloud sebagai infrastruktur RDMA yang mendasarinya. eRDMA menyediakan tool mode pengguna untuk mengumpulkan statistik tentang sumber daya RDMA dan status perangkat. Untuk detailnya, lihat Pantau dan diagnosa eRDMA.

Pemantauan terintegrasi dengan smc_monitor_ex

smc_monitor_ex adalah skrip pemantauan yang disertakan dalam smc-tools. Skrip ini memanggil smcr dan smcss secara internal untuk melaporkan laju lalu lintas SMC, jumlah koneksi, dan penggunaan memori dalam satu tampilan.

Peringatan

smc_monitor_ex adalah tool eksperimental. Antarmukanya dapat berubah pada rilis mendatang.

Jalankan smc_monitor_ex -h untuk melihat subperintah yang tersedia:

# 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

Memantau laju trafik

Subperintah speed melaporkan laju lalu lintas SMC dan jumlah permintaan per detik (RPS) di namespace net saat ini.

# 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'

Sebagai contoh, untuk mengkueri laju lalu lintas SMC-R dan RPS setiap detik:

# 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

Pantau jumlah koneksi

Subperintah connection melaporkan jumlah koneksi SMC aktif dan koneksi fallback TCP di namespace net saat ini.

# 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'

Sebagai contoh, untuk mengkueri jumlah koneksi SMC-R setiap detik:

# 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

Pantau penggunaan memori

Subperintah memory melaporkan ukuran total buffer cincin yang digunakan oleh koneksi SMC di namespace net saat ini.

# 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'

Sebagai contoh, untuk mengkueri penggunaan buffer cincin SMC-R setiap detik:

# 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

Lihat semua statistik sekaligus

Subperintah base menggabungkan laju lalu lintas, jumlah koneksi, dan penggunaan memori ke dalam satu output.

Sebagai contoh, untuk mengkueri semua statistik SMC-R setiap detik:

# 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