NVMe 드라이브 온도/IO 모니터링

NVMe 드라이브 온도/IO 모니터링

NVMe 드라이브(이 경우 Intel 750)의 온도 또는 읽기/쓰기를 모니터링할 수 있는 방법이 있습니까? hdparm,,,, 이런 능력이 부족한 것 udisksctl같고 , 구글 검색도 성과가 없었습니다.smartctlhddtemp

궁금해서, 이것이 NVMe를 시스템 드라이브로 사용하여 Fedora 23(워크스테이션)을 실행하는 데 있어 유일한 어려움입니다.

답변1

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"

답변2

그리고커널 5.5 이상, 일반 사용자는 sysfs를 통해 온도 정보를 얻을 수 있습니다. 예를 들어 내 시스템에서는 다음과 같습니다.

/sys/class/nvme/nvme0/device/hwmon/hwmon1/name:nvme
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp1_alarm:0
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp1_crit:84850
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp1_input:50850
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp1_label:Composite
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp1_max:84850
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp1_min:-273150
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp2_input:50850
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp2_label:Sensor 1
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp2_max:65261850
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp2_min:-273150
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp3_input:62850
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp3_label:Sensor 2
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp3_max:65261850
/sys/class/nvme/nvme0/device/hwmon/hwmon1/temp3_min:-273150

다양한 온도가 *_input파일에 있습니다. 값은 T(℃) * 1000입니다. 예를 들어, 센서 1의 온도는 ~51°C입니다.

답변3

취할 수 있는 몇 가지 단계는 다음과 같습니다. Linux 커널 버전이 3.19 이상인지, Intel Linux NVMe 드라이버가 설치되어 있는지 확인하세요. 도움이 되지 않으면 설치를 고려해 보세요.Linux NVMe 명령줄 인터페이스.

답변4

이것은 나에게 효과적이었습니다. 시스템에 맞는 hwmon것을 찾아야 할 수도 있습니다.temp/sys/devices/*

사용conky

${hwmon 2 temp 1}°C

관련 정보