使用 hddtemp 读取 SSD 温度传感器

a.b*_*ndl 12 ssd temperature

hddtemp 似乎无法正确检测我的 SSD (Samsung EVO 840) 的温度传感器。这是运行 hddtemp 时的 bash 输出:

WARNING: Drive /dev/sda doesn't seem to have a temperature sensor.
WARNING: This doesn't mean it hasn't got one.
WARNING: If you are sure it has one, please contact me (hddtemp@guzu.net).
WARNING: See --help, --debug and --drivebase options.
/dev/sda: Samsung SSD 840 EVO 120G B              @:  no sensor
Run Code Online (Sandbox Code Playgroud)

我查看了http://nongnu.mirrors.hostinginnederland.nl//hddtemp/hddtemp.db 上发布的最新 .db 文件,但它似乎根本没有列出任何 SSD 驱动器。

有没有人能够用 hddtemp 读出 SSD 的温度传感器?

小智 9

对不起,但我不能评论......反正

Hddtemp通常194从硬盘的智能数据读取字段,但在这种情况下,来自传感器的信息存储在 field 中190。使用该命令,您hddtemp可以读取该190特定模型的字段值。

去检查:

smartctl -a /device

hddtemp --debug /device
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,字段 190 显示硬盘的温度,(例如 190 Airflow_Temperature_Cel)


one*_*-mb 8

也可以确认 Ubuntu 14.04.4 LTS 和“Samsung SSD 850 EVO 1TB”的先前答案。(但驱动器标签中没有提到的空间需要)

那么该怎么办?

  1. 如果 hddtemp 不知道该驱动器:

    检查驱动器的 SMART 数据输出以获取温度传感器数据并查找字段“ID#”

    $ sudo smartctl /dev/sdb -a | grep -i Temp

    190 Temperature_Celsius 0x0022 111 104 000 Old_age Always - 36

    第一个字段是传感器属性 id#,在本例中为“190”。

  2. 在位于 /etc/hddtemp.db 的 hddtemp 数据库中添加一个条目

    $ sudo echo "Samsung SSD 850 EVO 1TB" 190 C "Label for SSD 1TB" >> /etc/hddtemp.db

    • 字段 1:使用与驱动器显示名称匹配的字符串或正则表达式(如 hddtemp 输出报告的那样)
    • 字段 2:SMART 数据字段编号(在本例中为 190)
    • 字段 3:温度单位 (C|F)
    • 字段 4:标签字符串/注释
  3. 现在 hddtemp 知道如何读取数据

    $ sudo hddtemp /dev/sdb

    /dev/sdb: Samsung SSD 850 EVO 1TB: 40°C


小智 5

root@elmo:/etc# hddtemp 
WARNING: Drive /dev/sda doesn't seem to have a temperature sensor. 
WARNING: This doesn't mean it hasn't got one. 
WARNING: If you are sure it has one, please contact me (hddtemp@guzu.net). 
WARNING: See --help, --debug and --drivebase options. 
/dev/sda: Samsung SSD 850 EVO 120G B              ?@:  no sensor 
Run Code Online (Sandbox Code Playgroud)

插入到/usr/share/misc/hddtemp.db这一行:

"Samsung SSD 850 EVO 120G B"                            190  C  "Samsung SSD 850 EVO 120GB"
Run Code Online (Sandbox Code Playgroud)

现在hddtemp显示温度

root@elmo:/etc# hddtemp
/dev/sda: Samsung SSD 850 EVO 120G B              ?@: 47 C
Run Code Online (Sandbox Code Playgroud)

  • 在 Ubuntu 14.04.3 LTS 上,数据库路径是`/etc/hddtemp.db` (3认同)