Monitorear la temperatura / IO de la unidad NVMe

15

¿Hay alguna manera de controlar la temperatura o las lecturas / escrituras de una unidad NVMe (en este caso, Intel 750)? hdparm, udisksctl, smartctl, Y hddtemptodos parecen carecer de esta capacidad, las búsquedas de Google han sido infructuosos.

Para los curiosos, esta es la única dificultad que he enfrentado al ejecutar Fedora 23 (Estación de trabajo) usando NVMe para la unidad del sistema.

Richard Border
fuente

Respuestas:

27

Usando nvme-cli, puedo obtener la temperatura de un Samsung 950 Pro con este comando:

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

También puede obtener otras informaciones:

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

Nota: uso del kernel 4.6.4

Para acceso de usuarios:

/ 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"
zentoo
fuente
¡Justo lo que estaba buscando! Sin embargo, sería bueno si ejecutar el cli no requiere privilegios de superusuario.
Richard Border
puede agregar el comando exacto a / etc / sudoers para que los usuarios puedan acceder a la temperatura. [Agregándolo a la respuesta]
zentoo
Tenga en cuenta que el comando hddtemp generalmente también está restringido a root.
zentoo
La única forma de acceder a la temperatura de hddtemp para un usuario es acceder a través de TCP al demonio hddtemp (servicio). Ejemplo: nc localhost 7634 && echo
zentoo
Eso es lo que hice - aplausos
Richard Border
2

Aquí hay algunos pasos que puede seguir. Asegúrese de que su versión del kernel de Linux sea al menos 3.19 y de que tenga instalados los controladores Intel Linux NVMe. Si eso no ayuda, considere instalar la interfaz de línea de comandos NVMe de Linux .

Torchhound
fuente
Desafortunadamente, el nvme-cli no parece tener las capacidades deseadas. Y estoy ejecutando el kernel 4.4.8 (después de todo, estoy usando la unidad NVMe para mi sistema operativo).
Richard Border
No puedo pensar en otra cosa y Google no está revelando nada, así que supongo que debes investigar más a fondo, esperar a que alguien con más conocimientos responda o crear tu propia solución. Lo siento, no podría ser de mayor ayuda.
Torchhound