• nvme盘 实时温度查询及警告温度查询修改


    环境及硬件

    ubuntu 21.04, nvme: 三星 970 evo plus 2T

    背景知识

    nvme盘工作时温度如果过高会伤害硬件,所以一般设置了警告温度,当超过阈值时会主动降低读写速度以达到降温的目的。(未验证成功)

    需求

    在linux系统中,查看/修改 nvme盘的警告温度。

    命令

    1. 查询nvme盘的实时温度
    sensors
    
    • 1

    输出:
    请添加图片描述

    说明:
    (a) 该命令为查看所有传感器的温度,在返回内容中找到 nvme 字样的返回值即可。
    (b) 以上述返回信息为例,每块nvme盘涉及到3个温度:composite,sensor1,sensor2。在我的case中,综合温度(composite)与sensor1的温度一致;升温最高的是sensor2。而预设的温度阈值是针对composite的,因此如果要真的达到警告温度,那么sensor2可能已经很高了。为何sensor2的温度不作为监控信号,原因不知。

    1. 查询警告温度
    sudo apt install nvme-cli
    sudo nvme set-feature /dev/nvme0n1p2 -f 0x04
    
    • 1
    • 2

    说明:0x04表示查询温度

    输出:

    get-feature:0x4 (Temperature Threshold), Current value:0x000166
    说明:
    0x000166为16进制的开尔文温度,开尔文温度-273=摄氏度,因此此处为85摄氏度。

    1. 手动修改警告温度
    sudo nvme set-feature /dev/nvme0n1p2 -f 0x04 -v 0x166
    
    • 1

    说明:0x166为要设置的温度,此处为16进制的开尔文温度,开尔文温度-273=摄氏度。

    其他

    一些参考资料显示,如果超过预设温度,硬盘会主动降低读写速度,以达到降温、保护电路的目的。但我实际测试的过程中,当超过预设温度(55摄氏度)时,只是在sensors命令中显示了ALLERT字样,(看起来)并没有降低读写速度,甚至超过阈值后,温度还在缓慢上升。
    请添加图片描述

    参考:
    硬件手册: https://docs.broadcom.com/doc/12381993 (24页)
    博客:https://blog.csdn.net/weixin_44565193/article/details/122479419

  • 相关阅读:
    【无标题】
    多线程【thread】创建【1】
    线性回归模型与分析r语言
    【Android音视频开发】音频编码原理
    当下不做元宇宙,就像20年前没买房!
    一个霸占程序员休息时间的 APP
    机器人任务挖掘与智能超级自动化技术解析
    集简云平台助力无代码开发,实现平安银行与电商平台、CRM系统的快速连接
    孩子写作业用台灯好还是不用好?双十一写作业的护眼台灯推荐
    java基础10题
  • 原文地址:https://blog.csdn.net/zmm__/article/details/126368899