Вы только что обнаружили, что один из модулей оперативной памяти нагревается до 57°C с алармом, а второй едва превышает 46°C. Не паникуйте – я расскажу, почему это происходит, как перенастроить температурные лимиты и на что обратить внимание в конструкции ПК. Даже если вы новичок в Linux, разберём всё по шагам.
Почему модули DDR5 греются по-разному?
Представьте, что у вас два автомобиля: грузовик и легковушка. Если загрузить их под завязку, двигатели будут работать в разных режимах. С памятью DDR5 та же история. Ваши модули отличаются не только объёмом (например, 8 ГБ vs 16 ГБ), но и, вероятно, производителем, частотой или таймингами. Это приводит к трём ключевым моментам:
- Разная нагрузка. В смешанном режиме (когда модули не идентичны) система выделяет память под задачи неравномерно. Если 16 ГБ занят рендерингом, а 8 ГБ простаивает – температурный дисбаланс неизбежен.
- Конструкция радиаторов. Некоторые модули оснащены алюминиевыми пластинами, другие – декоративными кожухами из пластика (они буквально «душат» чипы).
- Расположение на плате. Модуль ближе к процессору или видеокарте всегда будет горячее.
Разница в 11°C не критична. Но если температура достигает 70°C при длительной нагрузке, стоит проверить охлаждение.
Как DDR5 передаёт данные о температуре (и почему аларм срабатывает рано)
Драйвер spd5118
в Linux – это «переводчик» между системой и микросхемой SPD на модуле DDR5. SPD (Serial Presence Detect) хранит технические параметры памяти, включая заводские настройки температурных лимитов. Для сравнения:
Тип памяти | Драйвер SPD | Драйвер датчиков |
DDR3 | at24 | Нет стандарта |
DDR4 | ee1004 | jc42 |
DDR5 | spd5118 (объединённый) |
Производители DDR5 часто устанавливают порог аларма на уровне 55°C, ориентируясь на консервативные стандарты JEDEC. Но реальный критический порог – 85°C (поле crit
в выводе sensors). Если кратковременные скачки до 60-65°C допустимы, постоянный нагрев выше 70°C требует действий.
Настраиваем температурные лимиты за 5 минут
Чтобы убрать ложные алармы и задать свои значения, создайте конфигурационный файл:
sudo nano /etc/sensors.d/memory-temp.conf
Вставьте этот код, заменив *-50
и *-51
на адреса ваших модулей (их видно в выводе sensors
):
# Настройка для первого модуля (57°C)
chip "spd5118-i2c-*-50"
label temp1 "DIMM_16GB"
set temp1_max 65 # Верхний порог предупреждения
set temp1_crit 85 # Критическая температура
# Настройка для второго модуля (46°C)
chip "spd5118-i2c-*-51"
label temp1 "DIMM_8GB"
set temp1_max 65
set temp1_crit 85
Сохраните файл (Ctrl+O → Enter) и примените настройки:
sudo sensors --set
Совет: Если аларм не исчезает сразу, подождите 10-15 секунд. I2C-шина обновляет данные с задержкой.
Три проверки, если модуль всё равно перегревается
- Воздушные потоки. Откройте корпус и проверьте, не закрывает ли кабель или HDD вентиляционные отверстия рядом с RAM. Идеально, если вентилятор блока питания или корпусной кулер направлен на память.
- Радиаторы. Снимите модуль (предварительно выключив ПК!) и потрогайте радиатор. Если он пластиковый, замените на алюминиевый (например, Thermalright HR-09).
- Распределение нагрузки. Запустите
sudo dmidecode --type 17
чтобы узнать, в каком режиме работают модули (single-/dual-channel). Если dual-channel не активен, попробуйте переставить планки в слоты одного цвета.
Кстати, если вы часто работаете с виртуальными машинами или тяжёлыми приложениями, установите утилиту psensor
для графического мониторинга в реальном времени:
sudo apt install psensor
psensor &
Теперь вы знаете, как интерпретировать показания датчиков, настроить пороги под свои нужды и улучшить охлаждение. Помните: умеренный нагрев – это нормально, но стабильная работа выше 70°C сокращает срок службы памяти. Если сомневаетесь – снижайте частоту или добавляйте обдув.