Как получить температуру моего процессора с помощью Python? (Предполагая, что я нахожусь в Linux)Получение температуры процессора с использованием Python?
ответ
Py-cputemp, похоже, выполняет эту работу.
В зависимости от вашего дистрибутива Linux вы можете найти файл под /proc
, который содержит эту информацию. Например, this page предлагает /proc/acpi/thermal_zone/THM/temperature
.
Вы можете попробовать модуль PyI2C, он может считываться непосредственно из ядра.
Если ваш Linux поддерживает ACPI, чтение псевдофайла /proc/acpi/thermal_zone/THM0/temperature
(путь может отличаться, я знаю, что это /proc/acpi/thermal_zone/THRM/temperature
в некоторых системах) должен это сделать. Но я не думаю, что есть способ, который работает в каждой системе Linux в мире, поэтому вам нужно быть более конкретным в отношении того, что у вас есть! -)
В качестве альтернативы вы можете установить lm-sensors, затем установите PySensors (привязка python для libsensors).
К сожалению PySensors работает только под версией Python 2.x –
Существует newer API (см. Также LWN article и Linux kernel doc), где показаны температуры, например.
/sys/class/thermal/thermal_zone0/temp
чтения в тысячных градусов по Цельсию (хотя в старых ядрах, это, возможно, только что был градусов C).
Чтение файлов в /sys/class/hwmon/hwmon */temp1_ * работал для меня, но AFAIK не существует стандартов для этого. В любом случае, вы можете попробовать это и убедиться, что оно обеспечивает одинаковое количество CPU, показанное «sensors» утилитой cmdline, и в этом случае вы можете считать это надежным.
from __future__ import division
import os
from collections import namedtuple
_nt_cpu_temp = namedtuple('cputemp', 'name temp max critical')
def get_cpu_temp(fahrenheit=False):
"""Return temperatures expressed in Celsius for each physical CPU
installed on the system as a list of namedtuples as in:
>>> get_cpu_temp()
[cputemp(name='atk0110', temp=32.0, max=60.0, critical=95.0)]
"""
# http://www.mjmwired.net/kernel/Documentation/hwmon/sysfs-interface
cat = lambda file: open(file, 'r').read().strip()
base = '/sys/class/hwmon/'
ls = sorted(os.listdir(base))
assert ls, "%r is empty" % base
ret = []
for hwmon in ls:
hwmon = os.path.join(base, hwmon)
label = cat(os.path.join(hwmon, 'temp1_label'))
assert 'cpu temp' in label.lower(), label
name = cat(os.path.join(hwmon, 'name'))
temp = int(cat(os.path.join(hwmon, 'temp1_input')))/1000
max_ = int(cat(os.path.join(hwmon, 'temp1_max')))/1000
crit = int(cat(os.path.join(hwmon, 'temp1_crit')))/1000
digits = (temp, max_, crit)
if fahrenheit:
digits = [(x * 1.8) + 32 for x in digits]
ret.append(_nt_cpu_temp(name, *digits))
return ret
Sysmon работает хорошо. Отличная конструкция, это намного больше, чем измерение температуры процессора. Это программа командной строки и регистрирует все данные, которые она измеряет в файле. Кроме того, он является открытым исходным кодом и написан на python 2.7.
Я недавно внедренная это в psutil для Linux только.
>>> import psutil
>>> psutil.sensors_temperatures()
{'acpitz': [shwtemp(label='', current=47.0, high=103.0, critical=103.0)],
'asus': [shwtemp(label='', current=47.0, high=None, critical=None)],
'coretemp': [shwtemp(label='Physical id 0', current=52.0, high=100.0, critical=100.0),
shwtemp(label='Core 0', current=45.0, high=100.0, critical=100.0),
shwtemp(label='Core 1', current=52.0, high=100.0, critical=100.0),
shwtemp(label='Core 2', current=45.0, high=100.0, critical=100.0),
shwtemp(label='Core 3', current=47.0, high=100.0, critical=100.0)]}
Заботьтесь pyspectator
в pip
ВНИМАНИЕ: Требуется питон> = 3,0
from pyspectator import Cpu
from time import sleep
cpu = Cpu(monitoring_latency=1)
while True:
print cpu.temperature
sleep(1)
- 1. Мониторинг температуры процессора
- 2. Получение температуры процессора как числа в узле красного
- 3. Программа регистрации температуры для RPi с использованием Python
- 4. Чтение температуры процессора на Beaglebone Black
- 5. Какой модуль python используется для чтения температуры процессора и процессора Скорость вентилятора в WINDOWS ..?
- 6. Получение температуры от данных пикселей
- 7. Я борюсь с моим преобразователем температуры температуры python
- 8. Как получить доступ к показаниям температуры процессора с помощью C#?
- 9. Преобразователь температуры Python
- 10. Простой преобразователь температуры Python
- 11. с использованием искры apache для предсказания температуры
- 12. Преобразователь температуры Python Tkinter
- 13. Ошибка температуры преобразования Python
- 14. Функция преобразования температуры python
- 15. Получение серийного номера процессора или материнской платы?
- 16. Получение количества ядер процессора с использованием только стандартной библиотеки C?
- 17. Получение хороших значений для программы температуры
- 18. Конвертер температуры Ruby с использованием пользовательского ввода
- 19. Преобразование температуры с использованием объектов в java
- 20. преобразование температуры с использованием функций C#
- 21. Преобразование температуры с использованием массива не работает?
- 22. SNMP OID для температуры ядра процессора компьютера Windows
- 23. Управление использованием и потоками процессора в Python
- 24. Получение процессора сообщений ip
- 25. Градиент температуры градиента температуры
- 26. Как получить температуру процессора в Linux
- 27. Получение данных температуры SPI вне класса
- 28. Использование процессора с использованием perfmon
- 29. Обновление прогона с использованием процессора
- 30. Производительность процессора с использованием ThreadPoolExecutor
ру-cputemp в основном тонкий шпон над/Proc/ACPI/thermal_zone. Это изначально не работало для меня, пока я не понял, что мне нужно включить ACPI в моем BIOS. Я отключил его, потому что понял, что я не хочу управлять питанием на сервере. Спасибо за ответ; Я согласен с этим, потому что он был опубликован первым и заставило меня задуматься о том, как я себя чувствую. – jamieb
Это не ответ. – GLHF
Эта библиотека не поддерживается и даже не зарегистрирована в PyPI ... – Cerin