3,931 瀏覽數

SATA / SAS Link Speed

PCI-E 的速度可以透過 lspci 來查,lspci (PCI Express Gen 1 , 2 , 3) 但 SATA / SAS Link Speed 就沒有辦法透過 lspci 的指令查詢的到了.須要使用下面的指令來查詢.

SATA

除了 dmesg , hdparm 還有 lsscsi ,甚至於直接查 /sys/class/ata_link/link1/sata_spd 也是可以的.

  • #dmesg -print or control the kernel ring buffer
    # dmesg | grep -i sata
    [    2.630625] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3 Gbps 0x3f impl SATA mode
    [    2.988260] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    [    2.988285] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
    [    2.988306] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
    [    2.988324] ata6: SATA link down (SStatus 0 SControl 300)
    [    2.988343] ata5: SATA link down (SStatus 0 SControl 300)
    [    2.988366] ata3: SATA link down (SStatus 0 SControl 300)
    

    SATA 為 3Gbps (SATA 2.0 的裝置)
    Generation 1(1.5 Gbit/s) = 150 MByte/s
    Generation 2( 3 Gbit/s) = 300 MByte/s
    Generation 3( 6 Gbit/s) = 600 MByte/s

  • #hdparm – get/set SATA/IDE device parameters
    # hdparm -I /dev/sda |grep -i speed
               *    Gen1 signaling speed (1.5Gb/s)
               *    Gen2 signaling speed (3.0Gb/s)
    
  • /sys/class/ata_link/linkX/sata_spd
    # cat /sys/class/ata_link/link1/sata_spd
    3.0 Gbps
    

SAS

至於 SAS 可以透過哪些指令來觀察呢!!透過 dmesg , hdparm 好像是不行,只能直接看 /sys 的資訊了.

  • /sys/class/sas_phy/phy-0\:0/maximum_linkrate
    #cat /sys/class/sas_phy/phy-0\:0/maximum_linkrate
    6.0 Gbit
    

    Generation 1(3 Gbit/s) – (20% overhead – 每八個位元的資料串上用十位元來加以編碼) 3*0.8=2.4 Gbit/s = 300 MByte/s
    Generation 2(6 Gbit/s) – (20% overhead – 每八個位元的資料串上用十位元來加以編碼) 4.8 Gbit/s = 600 MByte/s
    Generation 3(12 Gbit/s) – (20% overhead – 每八個位元的資料串上用十位元來加以編碼) 9.6 Gbit/s = 1200 MByte/s

2 個網友的想法 “SATA / SAS Link Speed

  1. 自動參照通知: Linux command – smartctl – Benjr.tw

  2. 自動參照通知: 測試面試問題 – Benjr.tw

發表迴響