首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SPDK内部的NVME设备上读取封装温度?

如何在SPDK内部的NVME设备上读取封装温度?
EN

Stack Overflow用户
提问于 2019-11-12 22:33:09
回答 1查看 165关注 0票数 0

我们正在评估使用SPDK作为内部框架来构建带有NVMe设备的数据记录器。

磁盘和SSD设备都有smartctl接口,为您提供了一段时间的封装温度。看起来,smartctl现在也足够聪明,可以做NVMe设备了。但是,一旦SPDK“安装”,支持智能and的内核模块就消失了,不再在这些设备上运行。

我在规范中找到了对“温度”阈值的引用,但我没有找到“读取当前设备包温度”。

Linux下的SPDK看起来是一个不错的性能包,但是如果它阻止在底层硬件上获取基本的健康信息,那么它是不可能的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-19 15:33:14

今天早上我头脑清醒了,我想我应该分享一下:

在“/nvme”中,存在“标识”,它提供了人们通常从“smartctl”中获得的大部分“健康”信息。如果您天真地尝试与"perf“同时运行”标识“,则会发现您可以运行其中一个,但不能同时运行,抱怨”声明“一个设备。如果查看命令选项,您会发现”共享内存ID“(通常为”共享内存ID“),通常表示多个进程可以同时访问的共享内存ID。您现在可以运行"perf -i ID .“然后运行“标识-i ID”例如,观察包上的温度随时间的升高。

  • 如果您查看“nvme/hello”的代码,您会发现spdk_env_opts有一个字段"shm_id“。这显然是从这些其他示例的命令行上的"-i ID“选项中填充的。如果您将“"identify".
  • hello_world”修复为设置shm_id = -1 (默认-没有共享内存),则捕获和选项并将此字段更新为ID值,您将能够使"hello_world“与"perf”和/或hello_world一起工作,从而使温度传感器变得更简单(使用健康消息作为数据源),或者将健康感知包含在更大的application.
  • This进程中,在所涉及的进程中仍然会出现问题。我还没想清楚。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58827694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档