나는 munin으로 모니터링하는 (아주 오래된) 컴퓨터(ASUS A8N-SLI DELUXE 마더보드 및 AMD Opteron(tm) 프로세서 180 포함)를 가지고 있는데 입력 전압이 항상 최소 임계값보다 낮기 때문에 Vcore Voltage
읽은 값이 lm-sensors
항상 어떤 상태에 있습니다 . Critical
지난 몇 년간 이 문제는 나를 크게 괴롭히지 않았지만 오늘은 이 잘못된 긍정을 바로잡으려고 노력했습니다. 그러나 몇 시간 동안 문제를 해결한 후에도 읽기 전용 최소/최대 임계값을 변경할 수 없기 때문에 문제를 해결할 수 없습니다.
지금까지 내가 찾은 내용은 다음과 같습니다.
입력 Vcore 전압 값이 최소/최대 값을 초과하기 때문에 위험 상황이 발생합니다.
A는 sensors -u
다음과 같이 보고합니다.
...
atk0110-acpi-0
Adapter: ACPI interface
Vcore Voltage:
in0_input: 1.104
in0_min: 1.450
in0_max: 1.750
...
보시다시피 is in0_min
는 min보다 작습니다 .1.45V
in0_input
1.104V
lm-sensors 구성 파일 문서를 읽은 후(https://linux.die.net/man/5/sensors.conf) 올바른 구성으로 최소/최대 값을 수정할 수 있음을 발견했습니다. 그래서 /etc/sensors.d/atk0110.conf
다음 내용으로 파일을 만들었습니다 .
chip "atk0110-*"
label in0 "Vcore Voltage"
set in0_min 1.05
그런 다음 설정을 적용하고 붐을 일으키기 위해 실행했습니다 sensors -s
(자세한 내용은 매뉴얼 페이지 섹션 참조 ). Set Statement
다음 오류가 발생합니다.
Error: File /etc/sensors.d/atk0110.conf, line 5: Failed to set value
atk0110-acpi-0: At least one "set" statement failed
구글링을 좀 해보니 이러한 값이 BIOS에 하드코딩되어 있어서 변경할 수 없기 때문에 이런 오류가 발생한다는 것을 알게 되었습니다. 모듈이 로드되면 sysfs 파일 시스템을 통해 커널에 노출되고 asus_atk0110
경로에서 값을 읽습니다 /sys/bus/acpi/drivers/ATK0110/ATK0110:00/hwmon/hwmon1/
. 구체적으로 in0_min
이 파일에서 값을 읽는 중: /sys/bus/acpi/drivers/ATK0110/ATK0110:00/hwmon/hwmon1/in0_min
.
두 번째 시도는 센서 구성 파일에 있는 명령문을 시도하는 것이었지만 compute
, 그냥 할 수 없다는 것을 금방 깨달았습니다.계산하다최소 최대. Sensors.conf 파일에서 계산 문을 사용하면 입력된 모든 하위 기능이 계산의 영향을 받습니다. Sensors.conf 매뉴얼 페이지에서:
A compute statement describes how a feature's raw value should be translated to a real-world value, and how a real-world value should be translated back to a raw value again. This is most useful for voltage sensors, because in general sensor chips have a limited range and voltages outside this range must be divided (using resistors) before they can be monitored...
...
...
A compute statement applies to all sub-features of the target feature for which it makes sense.
...
이는 내 경우에는 세 가지 값 모두 in0_input
영향을 받는다는 것을 의미합니다. 따라서 구성에서 이와 같은 것을 사용하면 다음과 같습니다.in0_min
in0_max
chip "atk0110-*"
label in0 "Vcore Voltage"
compute in0 @-0.4,@
내가 읽은 내용은 다음과 같습니다.
atk0110-acpi-0
Adapter: ACPI interface
Vcore Voltage:
in0_input: 0.992
in0_min: 1.050
in0_max: 1.350
보시다시피 모든 값이 0.4V 감소하므로 입력값은 다시 최소값 이하가 되며,비판적인무닌의 지위는 여전히 존재한다.
부드럽게 하는 방법은 없을까요?오직루멘 센서의 최소/최대 값(이 값이 읽기 전용인 경우)?
또 다른 선택지는 가능하다면 무닌 측에서 문제를 해결하려고 노력하는 것이지만, 이 경우 문제의 원인은 lm 센서이므로 문제는 거기서 해결되어야 한다고 믿습니다.
답변1
이 답변은 munin에서 사용하는 경고/중요 임계값을 변경하여 munin 문제를 해결합니다. 따라서 문제가 해결되었더라도 답변을 솔루션으로 표시하지 않겠습니다. 이상적으로는 루멘 센서 주변의 문제를 해결해야 합니다.
플러그인을 사용하여 노드에 진입 sensors_volt
하고 명령을 실행합니다 munin-run sensors_volt config
. 이 명령은 munin이 인식하는 키/값 목록을 반환합니다.
# munin-run sensors_volt config
graph_title Voltages
graph_vlabel Volt
graph_args --base 1000 --logarithmic
graph_category sensors
volt1.label Vcore Voltage
volt1.warning 1.51:1.69
volt1.critical 1.45:1.75
volt2.label +3.3 Voltage
volt2.warning 3.12:3.48
volt2.critical 3.00:3.60
volt3.label +5.0 Voltage
volt3.warning 4.70:5.30
volt3.critical 4.50:5.50
volt4.label +12.0 Voltage
volt4.warning 11.60:12.80
volt4.critical 11.20:13.20
munin.conf
이러한 키/값은 마스터 노드에서 변경할 수 있습니다.
volt1.warning
제 경우에는 및 값을 변경하고 싶었 volt1.critical
기 때문에 호스트가 정의된 섹션에 다음 줄을 추가했습니다.
[host.localdomain]
address 1.2.3.4
use_node_name yes
sensors_volt.volt1.warning 1.05:1.40
sensors_volt.volt1.critical 1.00:1.45
따라서 이제 최소/최대 경고 값은 1.05V/1.40V로 설정되고 임계 값은 1V/1.45V로 설정되었습니다.
답변2
시스템이 과전압 또는 저전압이 아닌 경우 코어 전압을 무시하는 것을 고려할 수 있습니다.
chip "atk0110-*"
ignore in0
답변3
set 명령을 실행하려면 루트여야 하므로 사용 sudo sensors -s
후 제한을 변경해야 합니다. 센서를 다시 실행하면 이제 설정한 제한이 적용됩니다.