Monitorar temperatura / IO da unidade NVMe

15

Existe uma maneira de monitorar a temperatura ou leituras / gravações de uma unidade NVMe (neste caso, Intel 750). hdparm, udisksctl, smartctl, E hddtemptodos parecem não ter essa capacidade, o Google buscas foram infrutíferas.

Para os curiosos, esta é a única dificuldade que enfrentei ao executar o Fedora 23 (Estação de Trabalho) usando o NVMe para a unidade do sistema.

Richard Border
fonte

Respostas:

27

Usando o nvme-cli, posso obter temperatura de um Samsung 950 Pro com este comando:

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

Você também pode obter outras informações:

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: usando o kernel 4.6.4

Para acesso de usuários:

/ 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
fonte
É mesmo o que eu procurava! Seria bom se a execução do cli não exigisse privilégios de superusuário.
Richard Border
você pode adicionar o comando exato a / etc / sudoers para que os usuários possam acessar a temperatura. [Adicioná-lo à resposta]
zentoo
Observe que o comando hddtemp geralmente também é restrito à raiz.
zentoo 11/08/16
A única maneira de acessar a temperatura hddtemp para um usuário é acessar via TCP o daemon hddtemp (serviço). Exemplo: nc localhost 7634 && echo
zentoo 11/08
Foi o que eu fiz - Saúde
Richard Border
2

Aqui estão alguns passos que você pode seguir. Verifique se a versão do kernel do Linux é pelo menos 3.19 e se você possui os drivers Intel Linux NVMe instalados. Se isso não ajudar, considere instalar a interface da linha de comandos do Linux NVMe .

tocha
fonte
Infelizmente, o nvme-cli não parece ter os recursos desejados. E estou executando o kernel 4.4.8 (afinal de contas, estou usando a unidade NVMe no meu sistema operacional).
Richard Border
Não consigo pensar em mais nada e o Google não está inventando nada, então acho que você precisa fazer uma pesquisa mais aprofundada, esperar alguém mais experiente responder ou criar sua própria solução. Desculpe, não poderia ser de maior assistência.
torchhound