.NET 을 사용하여 lm_sensors
KVM 게스트의 호스트 CPU 온도를 감지 하려고 합니다.
호스트에서는x86_pkg_temp_ 열커널 모듈이 삽입되면 sysfs 인터페이스는 /sys/class/thermal/thermal_zone*/temp
필요한 정보를 노출합니다.
다음은 sensors-detect
호스트 시스템의 스크립트 출력입니다.lm-sensors
$ sudo sensors-detect
# sensors-detect revision 6284 (2015-05-31 14:00:33 +0200)
# System: LENOVO 20C60065TW [ThinkPad Edge E540] (laptop)
# Kernel: 4.8.8-200.fc24.x86_64 x86_64
# Processor: Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz (6/60/3)
This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.
Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): YES
Silicon Integrated Systems SIS5595... No
VIA VT82C686 Integrated Sensors... No
VIA VT8231 Integrated Sensors... No
AMD K8 thermal sensors... No
AMD Family 10h thermal sensors... No
AMD Family 11h thermal sensors... No
AMD Family 12h and 14h thermal sensors... No
AMD Family 15h thermal sensors... No
AMD Family 16h thermal sensors... No
AMD Family 15h power sensors... No
AMD Family 16h power sensors... No
Intel digital thermal sensor... Success!
(driver `coretemp')
Intel AMB FB-DIMM thermal sensor... No
Intel 5500/5520/X58 thermal sensor... No
VIA C7 thermal sensor... No
VIA Nano thermal sensor... No
Fedora 24를 실행하는 KVM 게스트에서는 커널 모듈을 삽입할 수 없습니다.
[root@fedora ~]# modprobe -v x86_pkg_temp_thermal
insmod /lib/modules/4.8.8300.fc25.x86_64/kernel/drivers/thermal/x86_pkg_temp_thermal.ko.xz
modprobe: ERROR: could not insert 'x86_pkg_temp_thermal': No such device
[root@fedora ~]# modprobe -v coretemp
insmod /lib/modules/4.8.8-300.fc25.x86_64/kernel/drivers/hwmon/coretemp.ko.xz
modprobe: ERROR: could not insert 'coretemp': No such device
게스트의 스크립트 출력은 sensors-detect
호스트가 아직 그러한 기능을 노출하지 않았음을 나타냅니다.
[root@fedora ~]# sensors-detect
# sensors-detect revision 6284 (2015-05-31 14:00:33 +0200)
# System: QEMU Standard PC (i440FX + PIIX, 1996) [pc-i440fx-2.6]
# Kernel: 4.8.8-300.fc25.x86_64 x86_64
# Processor: Westmere E56xx/L56xx/X56xx (Nehalem-C) (6/44/1)
This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.
Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): YES
Silicon Integrated Systems SIS5595... No
VIA VT82C686 Integrated Sensors... No
VIA VT8231 Integrated Sensors... No
AMD K8 thermal sensors... No
AMD Family 10h thermal sensors... No
AMD Family 11h thermal sensors... No
AMD Family 12h and 14h thermal sensors... No
AMD Family 15h thermal sensors... No
AMD Family 16h thermal sensors... No
AMD Family 15h power sensors... No
AMD Family 16h power sensors... No
Intel digital thermal sensor... No
Intel AMB FB-DIMM thermal sensor... No
Intel 5500/5520/X58 thermal sensor... No
VIA C7 thermal sensor... No
VIA Nano thermal sensor... No
KVM 게스트에게 "인텔 디지털 열 센서"를 노출시킬 수 있는 방법이 있습니까?
답변1
가상화된 CPU에서는 온도가 발생하지 않아야 하며 이는 예상된 동작입니다.
VM의 CPU는 가상이므로 실제 CPU에 정확히 일대일로 매핑되지 않을 수 있습니다.
또한 가상 환경/VM에는 호스트 환경의 전체 에뮬레이션이 발견되지 않을 것으로 예상되며 성능상의 이유로 바람직하지 않은 경우가 있는 것으로 예상되는 차이점/절충점이 있습니다.
예를 들어, 일부 가상화 플랫폼에서는 전체 하드웨어를 에뮬레이트하는 대신 네트워크 인터페이스 카드와 디스크 컨트롤러를 반가상화하는 데 추가 노력이 소요됩니다. 성능 차이는 종종 수십 배에 이를 수 있습니다.
호스트의 하드웨어 데이터(예: 온도 및 기타 모니터링 데이터)를 캡처하려면 가상 머신을 모니터링하는 것 외에도 SNMP 서비스 구성과 같은 호스트를 직접 모니터링할 수도 있는 것이 좋습니다.