SSDやHDDの温度や型番などの情報を調べる方法です。

SMARTに対応しているSSDやHDDならsmartctlコマンドで確認できます。

検証バージョン

  • CentOS Linux 7.4.1708
  • smartmontools 7.0

smartmontoolsインストール

smartmontoolsをインストールします。

# yum install -y smartmontools
~
インストール:
  smartmontools.x86_64 1:7.0-2.el7

依存性関連をインストールしました:
  mailx.x86_64 0:12.5-19.el7

完了しました!

SSDやHDDの情報確認

SSDやHDDの情報を取得する方法です。

デバイス名を確認します。

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 298.1G  0 disk
├sda1   8:1    0   512M  0 part /boot
├sda2   8:2    0     4G  0 part [SWAP]
└sda3   8:3    0 293.6G  0 part /
sr0     11:0    1  1024M  0 rom

sdaのTYPEがdiskなのでこいつがデバイス名です。

smartctlコマンド

SMART機能を読み込むためデバイスがSMARTに対応していないと情報が少なくなります。

また表示される情報やフォーマットはメーカー、型番により異なります。

長いんで一部省略しています。

# smartctl -a /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-327.36.1.el7.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.10
Device Model:     ST3320620AS
Serial Number:    5QF7G6F9
Firmware Version: 3.ADJ
User Capacity:    320,072,933,376 bytes [320 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA/ATAPI-7 (minor revision not indicated)
Local Time is:    Mon Aug  1 16:09:50 2022 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

~

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   100   253   006    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0003   097   094   070    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       253
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       1
  7 Seek_Error_Rate         0x000f   079   060   030    Pre-fail  Always       -       100083202
  9 Power_On_Hours          0x0032   001   001   000    Old_age   Always       -       114902
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       253
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   054   039   045    Old_age   Always   In_the_past 46 (Min/Max 46/52 #258)
194 Temperature_Celsius     0x0022   046   061   000    Old_age   Always       -       46 (0 16 0 0 0)
195 Hardware_ECC_Recovered  0x001a   059   049   000    Old_age   Always       -       176261163
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0000   100   253   000    Old_age   Offline      -       0
202 Data_Address_Mark_Errs  0x0032   100   253   000    Old_age   Always       -       0

「SMART support is: Enabled」なのでこのHDDはSMARTに対応しています。

「194 Temperature_Celsius」が46なのでHDDの温度は46度です。

まとめ

SSDは正常動作範囲が0~60度で70度超えると熱暴走して安全装置が働いてパフォーマンスが下がるようです。

確認して高温になるようならファンを強化したり、ヒートシンクをつけたり対応できます。

たまにHDDやSSDの型番忘れたりするので確認にも使えます。

まぁ、あまり需要は高くないコマンドだと思います。