监控NVMe驱动器的温度/ IO


15

有没有一种方法可以监视温度或对NVMe驱动器(在这种情况下为Intel 750)进行读写。hdparmudisksctlsmartctl,和hddtemp似乎都缺乏这方面的能力,谷歌搜索已经无果而终。

出于好奇,这是我使用NVMe作为系统驱动器运行Fedora 23(工作站)时遇到的唯一困难。

Answers:


27

使用nvme-cli,我可以使用以下命令从Samsung 950 Pro获得温度:

nvme smart-log /dev/nvme0 | grep "^temperature"

您也可以获取其他信息:

nvme smart-log /dev/nvme0

Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning                    : 0
temperature                         : 45 C
available_spare                     : 100%
available_spare_threshold           : 10%
percentage_used                     : 0%
data_units_read                     : 3,020,387
data_units_written                  : 2,330,810
host_read_commands                  : 26,960,077
host_write_commands                 : 15,668,236
controller_busy_time                : 65
power_cycles                        : 98
power_on_hours                      : 281
unsafe_shutdowns                    : 68
media_errors                        : 0
num_err_log_entries                 : 63
Warning Temperature Time            : 0
Critical Composite Temperature Time : 0

注意:使用内核4.6.4

供用户访问:

/ etc / sudoers

# For users group
%users ALL = NOPASSWD: nvme smart-log /dev/nvme0 | grep "^temperature"

# For all
ALL ALL = NOPASSWD: nvme smart-log /dev/nvme0 | grep "^temperature"

正是我想要的!如果运行cli不需要超级用户权限,那就太好了。
理查德·博德

您可以将确切的命令添加到/ etc / sudoers中,以便用户可以访问温度。[将其添加到答案中]
zentoo '16

注意,hddtemp命令通常也仅限于root用户。
zentoo '16

访问用户的hddtemp温度的唯一方法是通过TCP访问hddtemp守护程序(服务)。例如:nc localhost 7634 && echo
zentoo '16

我就是这么做的-欢呼声
理查德·博德

2

您可以采取以下步骤。确保您的Linux内核版本至少为3.19,并且已安装英特尔Linux NVMe驱动程序。如果这样做没有帮助,请考虑安装Linux NVMe命令行界面


不幸的是,nvme-cli似乎没有所需的功能。而且我正在运行内核4.4.8(毕竟我的操作系统是使用NVMe驱动器)。
理查德·博德

我没有别的想法,Google也没做任何事情,所以我想您要么需要进行更深入的研究,要么等待更有知识的人来回答,要么创建自己的解决方案。抱歉,我不能提供更多帮助。
火炬猎犬'16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.