全部产品
Search
文档中心

Alibaba Cloud Linux:Pemantauan SMC

更新时间:Jul 02, 2025

Topik ini menjelaskan metrik yang harus dipantau selama pemeliharaan Komunikasi Memori Bersama (SMC) untuk menentukan kesehatan jaringan.

Prasyarat

smc-tools, rangkaian alat pemeliharaan SMC mode pengguna dari Alibaba Cloud Linux 3, harus sudah terinstal.

Jika smc-tools belum terinstal, jalankan perintah berikut untuk menginstalnya:

sudo yum install -y smc-tools

Pantau tumpukan protokol

Tumpukan SMC menyediakan metrik statistik terkait koneksi, lalu lintas, dan memori bersama, serta mentransfer metrik tersebut ke ruang pengguna melalui netlink. Perintah smcr dalam rangkaian alat smc-tools mengambil dan menafsirkan metrik statistik dari netlink.

  • Kueri Statistik tentang Tumpukan SMC-R

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

    smcr stats

    Contoh keluaran perintah:

    # smcr stats
    Ringkasan Koneksi SMC-R
      Total koneksi yang ditangani          5076
      Koneksi SMC                           5076
      Kesalahan jabat tangan                   0
      Rata-rata permintaan per koneksi SMC  1977.0
      Fallback TCP                             0
    
    Statistik RX
      Data yang ditransmisikan (Bytes)  200705600 (200.7M)
      Total permintaan                    5017741
      Penggunaan buffer (Bytes)                  0 (0)
      Buffer penuh                              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
    
    Statistik TX
      Data yang ditransmisikan (Bytes) 1194173445 (1.194G)
      Total permintaan                    5017640
      Penggunaan buffer (Bytes)                  0 (0)
      Buffer penuh                              0 (0.00%)
      Buffer penuh (remote)                     0 (0.00%)
      Buffer terlalu kecil                      0 (0.00%)
      Buffer terlalu kecil (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
    
    Ekstra
      Panggilan soket khusus                  5

    Catat parameter berikut.

    Parameter

    Deskripsi

    Total koneksi yang ditangani

    Total jumlah koneksi yang ditangani oleh tumpukan SMC-R, yaitu jumlah dari nilai Koneksi SMC, Kesalahan jabat tangan, dan Fallback TCP.

    Koneksi SMC

    Total jumlah koneksi yang dikonversi menjadi koneksi SMC-R.

    Kesalahan jabat tangan

    Total jumlah koneksi yang gagal karena kesalahan selama fase jabat tangan, seperti tidak ada respons diterima dari peer.

    Rata-rata permintaan per koneksi SMC

    Rata-rata jumlah permintaan yang diterima atau dikirim per koneksi SMC.

    Fallback TCP

    Total jumlah koneksi yang kembali ke TCP/IP.

    Rx/Data yang ditransmisikan (Bytes)

    Total jumlah byte yang diterima melalui koneksi SMC-R.

    Rx/Total permintaan

    Total jumlah permintaan yang diterima melalui koneksi SMC-R.

    Rx/Penggunaan buffer(Bytes)

    Total ukuran buffer Rx yang digunakan oleh koneksi SMC-R. Unit: byte.

    Rx/Buffer penuh

    Total jumlah kali buffer Rx untuk koneksi SMC-R menjadi penuh. Jika aplikasi mode pengguna yang menggunakan koneksi SMC-R tidak membaca data dari buffer Rx yang dialokasikan untuk koneksi secara tepat waktu, buffer Rx mungkin menjadi penuh. Untuk mengurangi nilai parameter ini, konfigurasikan aplikasi mode pengguna yang menggunakan koneksi SMC-R untuk membaca data dari buffer Rx secepat mungkin atau tingkatkan kapasitas buffer Rx. Jika tidak, pengirim akan tertekan dan penerima tidak dapat menerima data baru.

    Rx/Bufs

    Distribusi buffer Rx yang digunakan oleh koneksi SMC-R. SMC-R mempertahankan kolam memori untuk setiap grup link. Saat koneksi dibuat, SMC-R mengalokasikan blok memori idle dengan ukuran yang sesuai dari kolam memori ke koneksi sebagai buffer Rx. Jika tidak ada blok memori idle yang tersedia, SMC-R membuat blok memori baru dengan ukuran yang sesuai. Setelah koneksi ditutup, blok memori direklaim ke kolam memori. Parameter ini menentukan total jumlah kali buffer Rx dialokasikan dari kolam memori ke koneksi SMC-R dan distribusi ukuran buffer Rx, termasuk jumlah kali buffer Rx dibuat dan digunakan kembali, tetapi tidak menentukan jumlah sebenarnya dari buffer Rx yang mengonsumsi memori.

    Rx/Reqs

    Distribusi ukuran permintaan yang diterima melalui koneksi SMC-R.

    Tx/Data yang ditransmisikan (Bytes)

    Total jumlah byte yang dikirim melalui koneksi SMC-R.

    Tx/Total permintaan

    Total jumlah permintaan yang dikirim melalui koneksi SMC-R.

    Tx/Buffer penuh

    Total jumlah kali buffer transmisi (Tx) untuk koneksi SMC-R menjadi penuh. Jika tumpukan SMC-R tidak mengirimkan data di buffer Tx ke link secara tepat waktu, buffer Tx mungkin menjadi penuh. Jika persentase tinggi, tingkatkan kapasitas buffer Tx berdasarkan kebutuhan bisnis Anda.

    Tx/Buffer penuh (remote)

    Total jumlah kali buffer Rx peer untuk koneksi SMC-R menjadi penuh. Jika buffer Rx peer untuk koneksi SMC-R penuh, ujung lokal tidak dapat mengirim data ke peer. Jika persentase tinggi, tingkatkan kapasitas buffer Rx peer berdasarkan kebutuhan bisnis Anda.

    Tx/Buffer terlalu kecil

    Total jumlah kali ukuran permintaan yang dikirim melalui koneksi SMC-R melebihi ukuran buffer Tx yang sesuai. Jika ukuran permintaan yang dikirim melalui koneksi SMC-R melebihi ukuran buffer Tx yang sesuai, ukuran buffer Tx terlalu kecil. Jika persentase tinggi, tingkatkan kapasitas buffer Tx berdasarkan kebutuhan bisnis Anda.

    Tx/Buffer terlalu kecil (remote)

    Total jumlah kali ukuran permintaan yang dikirim melalui koneksi SMC-R melebihi ukuran buffer Rx peer yang sesuai. Jika ukuran permintaan yang dikirim melalui koneksi SMC-R melebihi ukuran buffer Rx peer yang sesuai, ukuran buffer Rx peer terlalu kecil. Jika persentase tinggi, tingkatkan kapasitas buffer Rx peer berdasarkan kebutuhan bisnis Anda.

    Tx/Bufs

    Distribusi buffer Tx yang digunakan oleh koneksi SMC-R. SMC-R mempertahankan kolam memori untuk setiap grup link. Saat koneksi dibuat, SMC-R mengalokasikan blok memori idle dengan ukuran yang sesuai dari kolam memori ke koneksi sebagai buffer Tx. Jika tidak ada blok memori idle yang tersedia, SMC-R membuat blok memori baru dengan ukuran yang sesuai. Setelah koneksi ditutup, blok memori direklaim ke kolam memori. Parameter ini menentukan total jumlah kali buffer Tx dialokasikan dari kolam memori ke koneksi SMC-R dan distribusi ukuran buffer Tx, termasuk jumlah kali buffer Tx dibuat dan digunakan kembali, tetapi tidak menentukan jumlah sebenarnya dari buffer Tx yang mengonsumsi memori.

    Tx/Reqs

    Distribusi ukuran permintaan yang dikirim melalui koneksi SMC-R.

  • Kueri Statistik tentang Grup Link SMC-R

    Catatan

    Secara default, sebuah grup link berisi satu Link dan dapat membawa hingga 32 koneksi SMC-R. Setiap grup link digunakan untuk mempertahankan sekumpulan sumber daya RDMA di SMC-R, termasuk Queue Pairs (QP), Protection Domains (PD), dan Memory Registrations (MR).

    Jalankan perintah berikut untuk mengkueri statistik tentang semua grup link SMC-R yang terkait dengan perangkat RDMA yang dapat diakses di net namespace saat ini:

    smcr linkgroup

    Contoh keluaran perintah:

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

    Catat jumlah grup link, yang menunjukkan jumlah QP yang sedang digunakan, serta parameter dalam tabel berikut.

    Parameter

    Deskripsi

    #Conns

    Jumlah koneksi SMC yang dibawa oleh grup link.

    Untuk informasi lebih lanjut tentang grup link, jalankan perintah smcr -d linkgroup.

    Contoh keluaran perintah:

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

    Catat parameter berikut.

    Parameter

    Deskripsi

    Sndbuf

    Total jumlah memori yang ditempati oleh kolam buffer Tx yang dipertahankan oleh grup link. Unit: byte.

    CNY

    Total jumlah memori yang ditempati oleh kolam buffer Rx yang dipertahankan oleh grup link. Unit: byte.

  • Kueri Statistik tentang Perangkat SMC-R

    Jalankan perintah berikut untuk mengkueri informasi tentang perangkat RDMA yang digunakan oleh tumpukan SMC-R:

    smcr device

    Contoh keluaran perintah:

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

    Catat parameter berikut.

    Parameter

    Deskripsi

    Net-Dev

    Nama perangkat Ethernet.

    IB-Dev

    Nama perangkat RDMA.

    IB-P

    Port perangkat RDMA.

    IB-State

    Status perangkat RDMA.

    Type

    Tipe perangkat RDMA. Jika perangkat adalah perangkat eRDMA elastis (eRDMA) dari Alibaba Cloud, 0x107f ditampilkan.

    #Links

    Jumlah link yang terkait dengan perangkat RDMA.

    PNET-ID

    ID jaringan fisik (PNET) perangkat RDMA. Untuk informasi lebih lanjut, lihat konfigurasi parameter ID PNET.

Pantau koneksi

Mirip dengan ss, alat mode pengguna SMC smcss dalam rangkaian alat smc-tools memantau soket SMC. Alat smcss mengambil informasi soket dari netlink, termasuk detail soket yang menggunakan SMC setelah negosiasi atau kembali ke TCP jika negosiasi gagal.

  • Kueri Informasi Dasar tentang Soket SMC

    Jalankan perintah berikut untuk mengkueri informasi dasar tentang soket SMC yang sedang menghubungkan, menutup, atau terhubung pada tumpukan SMC atau kembali ke tumpukan TCP di net namespace saat ini:

    smcss

    Contoh keluaran perintah:

    # 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

    Catat parameter berikut.

  • Parameter

    Deskripsi

    State

    Status soket. Nilai valid:

    • INIT: Soket sedang diinisialisasi.

    • CLOSED: Soket ditutup.

    • LISTEN: Soket adalah soket mendengarkan.

    • ACTIVE: Soket SMC memiliki koneksi yang telah dibuat.

    • PEERCLW1: Tidak ada data lebih lanjut yang akan dikirim ke peer.

    • PEERCLW2: Tidak ada data lebih lanjut yang akan dikirim ke atau diterima dari peer.

    • APPLCLW1: Tidak ada data lebih lanjut yang akan diterima dari peer.

    • APPLCLW2: Tidak ada data lebih lanjut yang akan diterima dari atau dikirim ke peer.

    • APPLFINCLW: Peer telah menutup soket.

    • PEERFINCLW: Soket ditutup secara lokal.

    • PEERABORTW: Soket ditutup secara abnormal secara lokal.

    • PROCESSABORT: Peer telah menutup soket secara abnormal.

    Local Address

    Alamat IPv4 lokal atau IPv4-mapped IPv6 dan port. SMC hanya mendukung protokol IPv4.

    Peer Address

    Alamat IPv4 peer atau IPv4-mapped IPv6 dan port. SMC hanya mendukung protokol IPv4.

    Mode

    Mode komunikasi.

    • SMCR: menggunakan tumpukan SMC-R untuk komunikasi.

    • TCP <alasan fallback>: kembali ke tumpukan TCP/IP. Kode numerik menunjukkan alasan fallback. Untuk informasi tentang arti kode numerik, lihat fallback ke TCP/IP setelah mengaktifkan SMC.

  • Kueri Statistik tentang Soket SMC dalam Status LISTEN

    Jalankan perintah berikut untuk mengkueri statistik tentang soket SMC dalam status mendengarkan (LISTEN) di net namespace saat ini:

    smcss -l

    Parameter dalam keluaran perintah smcss -l sama dengan yang ada dalam keluaran perintah smcss.

  • Kueri Statistik tentang Soket SMC yang Berjalan pada Tumpukan SMC-R

    Jalankan perintah berikut untuk mengkueri statistik tentang soket SMC yang berjalan pada tumpukan SMC-R di net namespace saat ini:

    smcss -R

    Contoh keluaran perintah:

    # 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 parameter dasar sebelumnya dalam keluaran perintah smcss, catat parameter berikut.

    Parameter

    Deskripsi

    IB-device

    Nama perangkat RDMA yang digunakan untuk koneksi.

    Port

    Port perangkat RDMA yang digunakan untuk koneksi.

    GID

    ID global (GID) perangkat RDMA yang digunakan untuk koneksi.

    Peer-GID

    GID perangkat RDMA peer.

  • Kueri Statistik tentang Semua Soket SMC

    Jalankan perintah berikut untuk mengkueri statistik tentang semua soket SMC di net namespace saat ini:

    smcss -a

    Parameter dalam keluaran perintah smcss -a sama dengan yang ada dalam keluaran perintah smcss.

Pantau perangkat

SMC-R menggunakan perangkat eRDMA Alibaba Cloud sebagai perangkat RDMA bawah. eRDMA menyediakan berbagai alat mode pengguna untuk mengumpulkan statistik tentang sumber daya dan perangkat RDMA. Untuk informasi lebih lanjut, lihat Pemantauan dan Diagnosis eRDMA.

Alat pemantauan terintegrasi

smc_monitor_ex adalah skrip alat pemantauan yang disediakan oleh smc-tools. Skrip ini memanggil instruksi atomik dari smc-tools, seperti smcr dan smcss, untuk mengumpulkan statistik tentang lalu lintas SMC, koneksi, dan penggunaan memori.

  • Penggunaan Alat

    Jalankan perintah berikut untuk mengkueri penggunaan smc_monitor_ex.

    Peringatan

    smc_monitor_ex adalah alat eksperimental, dan penggunaannya dapat berubah di masa mendatang.

    # smc_monitor_ex -h
    usage: smc_monitor_ex [-h] {speed,s,connection,c,memory,m,base,b} ...
    
    Alat Pemantauan SMC (Eksperimental)
    
    argumen posisi:
      {speed,s,connection,c,memory,m,base,b}
                            perintah
        speed (s)           Lihat laju transfer
        connection (c)      Lihat jumlah koneksi
        memory (m)          Lihat penggunaan memori
        base (b)            Lihat laju transfer, jumlah koneksi, dan penggunaan memori
    
    argumen opsional:
      -h, --help            tampilkan pesan bantuan ini dan keluar
  • Kueri Statistik tentang Lalu Lintas SMC

    Jalankan subperintah speed dalam smc_monitor_ex untuk mengkueri laju lalu lintas SMC dan rekaman per detik (RPS) di net namespace saat ini.

    # smc_monitor_ex speed -h
    usage: smc_monitor_ex speed [-h] [-i INTERVAL] [-r] [-m {smcr,smcd,smc}]
    
    argumen opsional:
      -h, --help            tampilkan pesan bantuan ini dan keluar
      -i INTERVAL, --interval INTERVAL
                            Interval dalam detik untuk menampilkan laju transfer.
      -r, --raw             Tampilkan laju dalam B/s tanpa mengonversi unit.
      -m {smcr,smcd,smc}, --mode {smcr,smcd,smc}
                            Mode untuk diperiksa, baik 'smc', 'smcr' atau 'smcd', default
                            adalah 'smc'

    Sebagai contoh, jalankan perintah berikut untuk mengkueri laju lalu lintas SMC-R dan RPS di net namespace saat ini 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
  • Kueri Statistik tentang Koneksi SMC

    Jalankan subperintah connection dalam smc_monitor_ex untuk mengkueri jumlah koneksi yang menggunakan SMC atau kembali ke TCP di net namespace saat ini.

    # smc_monitor_ex connection -h
    usage: smc_monitor_ex connection [-h] [-i INTERVAL]
                                     [-m {smc,smcr,smcd,fallback,all}]
    
    argumen opsional:
      -h, --help            tampilkan pesan bantuan ini dan keluar
      -i INTERVAL, --interval INTERVAL
                            Interval dalam detik untuk menampilkan koneksi.
      -m {smc,smcr,smcd,fallback,all}, --mode {smc,smcr,smcd,fallback,all}
                            Mode untuk diperiksa, baik 'all', 'smc', 'smcr', 'smcd' atau
                            'fallback', default adalah 'all'

    Sebagai contoh, jalankan perintah berikut untuk mengkueri jumlah koneksi yang menggunakan SMC-R di net namespace saat ini 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
  • Kueri Statistik tentang Penggunaan Memori

    Jalankan subperintah memory dalam smc_monitor_ex untuk mengkueri total ukuran ring buffer yang digunakan oleh koneksi SMC di net namespace saat ini.

    # smc_monitor_ex memory -h
    usage: smc_monitor_ex memory [-h] [-i INTERVAL] [-r] [-m {smcr,smcd,smc}]
    
    argumen opsional:
      -h, --help            tampilkan pesan bantuan ini dan keluar
      -i INTERVAL, --interval INTERVAL
                            Interval dalam detik untuk menampilkan penggunaan ringbuf.
      -r, --raw             Tampilkan penggunaan memori dalam byte tanpa mengonversi
                            unit.
      -m {smcr,smcd,smc}, --mode {smcr,smcd,smc}
                            Mode untuk diperiksa, baik 'smcr', 'smcd' atau 'smc', default
                            adalah 'smc'

    Sebagai contoh, jalankan perintah berikut untuk mengkueri total ukuran ring buffer yang digunakan oleh koneksi SMC-R di net namespace saat ini 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
  • Kueri Semua Statistik SMC

    Jalankan subperintah base dalam smc_monitor_ex untuk mengkueri semua statistik terkait SMC sebelumnya di net namespace saat ini.

    Sebagai contoh, jalankan perintah berikut untuk mengkueri semua statistik terkait SMC-R di net namespace saat ini 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