- How to check drive temperature on Linux?
- 6 Answers 6
- Температура жесткого диска в Linux
- Ставим hddtemp
- Как проверить температуру процессора и жесткого диска в Ubuntu и других Linux
- Мониторинг температуры процессора и жесткого диска в Ubuntu
- Использование терминала
- Использование инструментов графического интерфейса
- Как узнать температуру жесткого диска в Linux
- Как узнать температуру жесткого диска в Linux
- 1. Установите инструменты для проверки температуры жесткого диска
- 2. Получить температуру жесткого диска
- Заключение
- Похожие записи:
How to check drive temperature on Linux?
I have used of hdparm -n and smartctl -A but it always seem to be a «per drive» technique as a drive may answer for only one of these tools. So, is there a standard way to get the drive temperature on Linux (HDD or SSD)? If not, what (other) tools can I use to get this information?
6 Answers 6
I like hddtemp , which provides a pretty standard way of getting the temperature for supported devices. It requires SMART support though.
Example Usage: sudo hddtemp /dev/sd[abcdefghi]
/dev/sda: WDC WD6401AALS-00J7B0: 31°C
/dev/sdb: WDC WD7501AALS-00J7B0: 30°C
Don’t forget the type prefix ( PATA / SATA / SCSI ) for some devices; this 8-bay UASP tower needs the SATA prefix or else I don’t get any temperatures: sudo hddtemp SATA:/dev/sd
I’m getting «drive supported, but it doesn’t have a temperature sensor.» for every drive on my system, which is NOT true — the temps are reported in smartctl .
All SMART-capable devices should respond to smartctl . And I guss that only smart-devices have a temperature reading.
All other tools will propably be more or less vendor-specific (like Dell`s omsa). IPMI might be another generic approach, but I doubt, that a temperature-reading of a storage-device is standard there.
Oh yeah, in general terms you can read the output of a thermistor using the cee language. it’s like so obvious. (this answer is overly-generic)
As mentioned by Rovanion, to list all drives in one go:
Or, if you prefer a for loop:
for i in /dev/sd[a-z]; do hddtemp "$i"; done
# ls -1 /dev/sd? | xargs -n1 smartctl -A | grep Celsius 194 Temperature_Celsius 0x0022 043 049 000 Old_age Always - 43 (0 25 0 0 0) 194 Temperature_Celsius 0x0022 034 041 000 Old_age Always - 34 (0 18 0 0 0) 194 Temperature_Celsius 0x0022 042 047 000 Old_age Always - 42 (0 21 0 0 0) 194 Temperature_Celsius 0x0022 046 053 000 Old_age Always - 46 (0 24 0 0 0) 194 Temperature_Celsius 0x0022 044 050 000 Old_age Always - 44 (0 25 0 0 0) 194 Temperature_Celsius 0x0022 044 050 000 Old_age Always - 44 (0 24 0 0 0)
Температура жесткого диска в Linux
У всех на слуху «узнать температуру процессора». Конечно, главная печка компьютера чаще всего именно процессор. Но что будет, если процессор перегреется? В лучшем случае компьютер начнет зависать и потом выключиться, в худшем — потеряете процессор и, возможно, материнскую плату. А что будет, если от перегрева сломается жесткий диск? Вы потеряете все, что было на нем (вопрос бекапов стоит особняком).
Условно, но если температура hdd выше 45 градусов, то условия эксплуатации не комфортные. Не факт, что получиться их изменить, но по-крайней мере, понимать что вероятность перегрева высокая — надо. Например, в зеркальном raid стояли два диска WD RE4, на одном температура была 36, на другом — 46. Возможно, второй диск был более дефектным. И на этом более горячем диске возникли сбойные кластеры. Потери данных не было, т.к. raid1 и бекап, но не всегда так бывает.
Узнать, какая температура ващего жесткого диска в Linux очень легко.
Ставим hddtemp
sudo apt-get install hddtemp
В CentOS надо дополнительно установить (если еще не установлен) репозиторий EPEL:
sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo yum install hddtemp
Узнать, как называются диски в вашей системе можно с помощью команды:
Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Скорее всего, это будет /dev/sda, /dev/sdb и далее по списку. Разделы (например, sda1, sdb2 — это не весь диск, точнее, не диск как целое устройство).
user@ubuntu:~$ sudo hddtemp /dev/sda
/dev/sda: ST380013AS: 45 0 C
Собственно, вот и все. Есть и другие варианты. Например, lm-sensors или smartmontools (тут вообще много всего, включая количество ремапов, температуры, количества отработанных часов и много чего еще).
Авторизуйтесь для добавления комментариев!
Как проверить температуру процессора и жесткого диска в Ubuntu и других Linux
Интересуетесь, как проверить температуру процессора и жесткого диска в Ubuntu и других Linux на настольных компьютерах или ноутбуках? Вот краткое руководство.
Если вы обычный пользователь, вам не требуется проверять температуру процессора или жесткого диска. Но если вы используете очень старое оборудование, вы можете столкнуться с проблемой перегрева. Поэтому необходимо следить за температурой оборудования. Однако современные дистрибутивы Linux хорошо справляются с ситуациями перегрева с помощью программных датчиков.
Мониторинг температуры процессора и жесткого диска в Ubuntu
Использование терминала
Мы будем использовать несколько пакетов для достижения этой цели. Откройте терминал в системе на базе Ubuntu и установите следующие пакеты.
sudo apt install hddtemp
sudo apt install lm-sensors
Утилита hddtemp покажет вам температуру вашего оптического жесткого диска, а также SSD (согласно моим тестам). А пакет lm-sensors позволяет получить данные о температуре процессоров и других датчиков, доступ к которым осуществляется через порты PCI.
После установки запустите из терминала следующее. Для этого вам нужно знать идентификатор вашего диска — например, /dev/sda или /dev/sdb и т.д.
Чтобы узнать идентификаторы дисков, вы можете использовать fdisk.
Затем выполните следующие действия, чтобы проверить температуру HDD или SSD.
Проверка температуры процессора и другой информации требует дополнительных действий. Сначала выполните следующую команду, чтобы утилита sensors могла обнаружить датчики в вашей системе
Приведенная выше команда может задать вам несколько вопросов YES/NO. Продолжайте нажимать ENTER, чтобы выбрать параметры по умолчанию.
Использование инструментов графического интерфейса
Если вы предпочитаете красивый графический интерфейс, который делает все вышеперечисленное, вы можете установить psensor. Эта утилита работает в таких системах Linux, как Ubuntu, Fedora, Arch и других.
Прочтите: Как исправить `Не удалось получить блокировку /var/lib/dpkg/lock — открыто (11 Ресурс временно недоступен)` Ошибки
Ubuntu и ее производные
Fedora и производные на основе RPM
Arch, Manjaro и аналогичные производные
После установки запустите psensor из терминала или запустите его из меню приложений.
Как вы можете видеть на скриншоте ниже, он дает вам хороший обзор всех важных температур CPU, GPU, HDD с красивым графиком. Используя настройки, вы можете настроить его в соответствии с вашими потребностями. Эта легкая утилита может быть полезна во многих случаях.
Итак, вот некоторые способы, с помощью которых вы можете контролировать температуру CPU, GPU или HDD в Ubuntu и других системах Linux. Дайте мне знать, если вы знаете какие-либо другие способы, используя поле для комментариев ниже.
Как узнать температуру жесткого диска в Linux
Системным администраторам необходимо следить за температурой своей системы, чтобы не допустить ее перегрева. Это также включает в себя отслеживание температуры жесткого диска (HDD). Когда система перегревается, это может повлиять на производительность и даже привести к краху системы. Поэтому многие системные администраторы используют сценарии оболочки для мониторинга температуры жесткого диска и оповещения в случае ее резкого повышения. Однако существуют различные сторонние инструменты, такие как inxi и hddtemp, с помощью которых можно проверить температуру жесткого диска, а также использовать их в сценариях оболочки. В этой статье мы узнаем, как узнать температуру жесткого диска в Linux.
Как узнать температуру жесткого диска в Linux
Ниже описаны шаги для получения температуры жесткого диска в Linux. Для этого мы будем использовать программы inxi и hddtemp.
В виртуальных гостевых средах, информация о температуре жесткого диска не передается.
1. Установите инструменты для проверки температуры жесткого диска
По умолчанию inxi и hddtemp не установлены в системах Linux. Откройте терминал и выполните следующие команды для их установки.
Ubuntu, Debian и Linux Mint
sudo apt install inxi hddtemp
Fedora, CentOS, AlmaLinux и Red Hat
Перед началом установки, необходимо включить репозиторий PowerTools
sudo dnf install inxi hddtemp
2. Получить температуру жесткого диска
Далее мы составим список всех наших дисков с помощью fdisk или других подобных команд.
Жесткие диски обычно имеют путь в формате /dev/sdX. Вот команда для получения температуры всех жестких дисков в системе с помощью inxi.
Drives: HDD Total Size: 75.5GB (70.3% used) ID-1: /dev/sda model: HTS371050G8SA00 size: 60.0GB temp: 35C ID-2: USB /dev/sdb model: TransMemory size: 15.5GB temp: 0C
Атрибут temp указывает температуру каждого жесткого диска. Обратите внимание, что приведенная выше команда должна быть запущена с правами root или sudo.
Если вы хотите получить температуру конкретного жесткого диска, вам нужно указать его в конце команды, как показано ниже.
Эту же информацию можно получить с помощью утилиты hddtemp.
/dev/sda: HTS371050G8SA00: 36°C
3. Автоматизация проверки температуры
Вам может понадобиться регулярно проверять температуру жестких дисков, поэтому удобно автоматизировать эту процедуру с помощью сценариев оболочки. Создайте пустой сценарий оболочки для этого, используя следующую команду.
Добавьте в него следующие строки.
#!/bin/bash temperature=$(hddtemp /dev/sda | cut -d : -f3 | sed 's/[^0-9]*//g') # REPORT, когда температура жесткого диска превышает 50C if [ $temperature -ge 50 ]; then echo "ALERT: температура жесткого диска выше: $temperature" fi
Сохраните и закройте файл. В приведенном выше коде мы используем утилиту hddtemp для получения температуры нашего жесткого диска /dev/sda. Мы передаем ее вывод команде cut & sed, чтобы извлечь точное числовое значение температуры. Затем мы используем условие if, чтобы проверить, превышает ли оно 50C. Если да, мы выводим предупреждающее сообщение об этом.
Замените /dev/sda на выбранный вами жесткий диск. Также вы можете заменить команду echo на команду cat, чтобы записать вывод в другой файл.
Сделайте сценарий оболочки исполняемым.
sudo chmod +x temp_check.sh
Вы можете запустить сценарий оболочки с помощью следующей команды.
Когда сценарий будет готов, вы можете даже создать cronjob, чтобы запускать его каждый день в одно и то же время. Откройте crontab с помощью следующей команды.
Добавьте в него следующую строку, чтобы запускать сценарий оболочки каждый день в 10.00 утра.
0 10 * * * ./temp_check.sh >/dev/null 2>&1
Сохраните и закройте файл crontab.
Заключение
В этой статье мы узнали, как устанавливать и использовать инструменты для проверки температуры жесткого диска через терминал и с помощью сценария оболочки. Мы также узнали, как автоматизировать весь процесс, создав cronjob для ежедневного выполнения сценария.