Linux command – nvme

測試環境為 CentOS 7 x86_64

在 smartctl 官網有提到 https://www.smartmontools.org/wiki/NVMe_Support 可以透過它來看 nvme 的資訊.

SATA Express / NVMe
使用的是 PCI Express SSD 的硬碟裝置,透過 NVMe 的驅動程式並使用 PCI Express lanes 為介面,作為高性能和可擴展主機控制器接口設計,還針對了 PCI Express的固態硬盤的連接埠做了效能優化的處理.
NVMe 的設計一開始就針對 低延遲和 PCI Express 固態硬盤的並行性,並滿足現代的 CPU,平台和應用的並行性.和 AHCI 相比 NVMe 它的優點 如使用較少的階段的數據傳輸,更深入的命令列 (command queues)和更高效中斷處理 (interrupts processing)

SATA 與 NVME 的比較可以參考 http://benjr.tw/73607

[root@localhost ~]# smartctl -A /dev/nvme0
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-3.10.0-514.el7.x86_64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF SMART DATA SECTION ===
Read NVMe SMART/Health Information failed: NVMe Status 0x04

但實際用資訊卻不多,有網友建議使用新版本或是透過指令更新 smartctl 資料庫,要不然就直接使用指令 #nvme.

指令 smartctl

  1. 更新 smartctl 版本
    下載點為 https://sourceforge.net/projects/smartmontools/

    [root@localhost ~]$ tar zxvf smartmontools-6.6.tar.gz
    [root@localhost ~]$ cd smartmontools-6.6/
    [root@localhost smartmontools-6.6]$ ./configure
    [root@localhost smartmontools-6.6]$ make
    [root@localhost smartmontools-6.6]$ make install
    
  2. 更新 smartctl 資料庫
    [root@localhost ~]$ update-smart-drivedb
    /usr/local/share/smartmontools/drivedb.h updated from branches/RELEASE_6_6_DRIVEDB
    

指令 nvme

smartctl 官網也建議使用 nvme 指令 (由 nvme-cli 套件提供).

[root@localhost ~]$ yum install nvme-cli

nvme list – List all nvme controllers.

[root@localhost ~]# nvme list
Node          SN                Model                Version  Namespace Usage               Format    FW Rev  
------------- ----------------- -------------------- -------- --------- ------------------- --------- --------
/dev/nvme0n1   BTPY71920HS4148D INTEL SSDPEKKA128G7  1.2      1         128.04GB/128.04GB   512B + 0B PSF119D

nvme smart-log – Retrieve Smart Log

[root@localhost ~]# nvme smart-log /dev/nvme0 
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning                    : 0
temperature                         : 33 C
available_spare                     : 100%
available_spare_threshold           : 10%
percentage_used                     : 0%
data_units_read                     : 207,019
data_units_written                  : 357,912
host_read_commands                  : 3,823,035
host_write_commands                 : 5,463,129
controller_busy_time                : 78
power_cycles                        : 1,644
power_on_hours                      : 945
unsafe_shutdowns                    : 1,583
media_errors                        : 0
num_err_log_entries                 : 0
Warning Temperature Time            : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1                : 0 C
Temperature Sensor 2                : 0 C
Temperature Sensor 3                : 0 C
Temperature Sensor 4                : 0 C
Temperature Sensor 5                : 0 C
Temperature Sensor 6                : 0 C
Temperature Sensor 7                : 0 C
Temperature Sensor 8                : 0 C

nvme error-log – Retrieve error logs

[root@localhost ~]# nvme error-log /dev/nvme0

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *