Ноутбук на Linux быстро разряжается во сне (s2idle) за ночь и греется в рюкзаке: диагностика amd_pmc, pmc_core и пробуждающих прерываний
Знакомая боль разработчиков и инженеров, перешедших на Ubuntu, Fedora, Debian, Arch или отечественные Linux-дистрибутивы на современном тонком ноутбуке: вечером вы закрываете крышку на 85 % заряда, а утром достаёте еле тёплый ноутбук с остатком 48 % (или вовсе в нуле)! При проверке режима сна командой чтения файла /sys/power/mem_sleep обнаруживается единственное подчёркнутое слово [s2idle], а привычного старого аппаратного сна [deep] (ACPI S3) в прошивке материнской платы больше не существует физически!
Главная ошибка новичка — пытаться «прикрутить костылями» вырезанный производителем режим S3 через правку скомпилированных таблиц ACPI DSDT: на современных платформах AMD Ryzen (6000 / 7000 / 8000 / Ryzen AI) и Intel Core (12–14 поколений / Core Ultra) производители чипов официально прекратили валидацию классического S3, сосредоточив всю экономию энергии в аппаратном микросне Suspend-to-Idle (S0ix на Intel / Hardware Sleep State на AMD)! При правильной настройке исправный ноутбук в режиме s2idle тратит всего 0,3–0,6 % заряда в час (3–5 % за всю ночь!) — а если уходит 20–30 %, значит конкретное одно устройство или настройка BIOS мешает процессору опустить защёлку питания!
Шаг 1. За 10 секунд проверьте скрытый переключатель Sleep State в BIOS (для ThinkPad и бизнес-серий)!
Прежде чем открывать консоль, перезагрузитесь в BIOS Setup (на ряде корпоративных серий Lenovo ThinkPad и некоторых платформах прошлых лет есть специальный пункт Config → Power → Sleep State с выбором Windows / Modern Standby против Linux S3!).
- Важный нюанс 2025–2026 годов: на самых свежих моделях ThinkPad на базе современных чипов AMD и Intel этот переключатель уже убран совсем, потому что
s2idleсертифицирован Lenovo официально под Linux — но в BIOS обязательно должны быть включены энергосбережение шины PCIe, глубокие состояния процессора и актуальная версия прошивки (обновляется прямо из Linux одной командой штатной службыfwupdmgr get-updates && fwupdmgr update!).
Шаг 2. Золотая диагностическая метрика ядра: ушёл ли чип в аппаратный сон НА самом деле?!
Как не гадать вслепую? В ядро Linux встроены два точных аппаратных счётчика микроконтроллера питания самого процессора:
- на ноутбуках Intel — интерфейс
/sys/kernel/debug/pmc_core/slp_s0_residency_usec(сколько микросекунд кристалл реально проспал в глубоком состоянииSLP_S0); - на ноутбуках AMD Ryzen — интерфейс модуля
amd_pmc(и эталонный официальный диагностический анализатор инженеров AMD из пакетаamd-debug-tools / amd-s2idle, который за один 15-секундный тестовый цикл сна проверяет все 25 условий и человеческим языком на русском/английском пишет конкретную строку поломки!).
Логика чтения результата кристально проста и делит все беды ровно пополам:
Счётчик аппаратной резидентности S0ix / Hardware Sleep после 10 минут сна |
Что это доказывает со 100 % точностью | Где искать виновника |
|---|---|---|
Счётчик стоит ровно на нуле (0.0 % времени в глубоком сне!) |
Ядро Linux погасило экран, но процессор вообще ни на секунду не выключил внутренние шины, работая всю ночь на холостом ходу! | Один из PCIe-контроллеров не ушёл в состояние D3cold: виноваты сбойный NVMe SSD без APST, дискретная видеокарта NVIDIA без настройки памяти, отключённый ASPM в BIOS или старое ядро Linux! |
Счётчик отличный (92–98 %), но каждые 30 секунд в journalctl -k виден выход из сна и повторный вход! |
Сон работает идеально, но кто-то физически будит ноутбук прерыванием каждые полминуты в закрытом рюкзаке! | Вставленный в порт беспроводной ресивер мыши USB 2.4 ГГц, дребезжащий датчик крышки (см. разбор ложного срабатывания магнитного датчика Холла), Wake on WLAN или фоновый опрос батареи мультиконтроллером (ACPI GPE)! |
Четыре самые частые причины срыва s2idle на ноутбуках и их точное лечение
1. В параметрах загрузчика GRUB кто-то оставил pcie_aspm=off или nvme_core.default_ps_max_latency_us=0!
Классический самострел! Полгода назад у вас зависал капризный SSD или спамил ошибки шины (аналог предупреждений PCIe AER Event ID 17 или сбросов контроллера NVMe), и по совету с форума вы прописали в /etc/default/grub параметр pcie_aspm=off или отключили глубокий сон SSD nvme_core.default_ps_max_latency_us=0!
- Последствие: ни один контроллер на шине PCIe никогда не переходит в состояние
L1.2, корневой комплекс чипсета блокирует вход вS0ixнавсегда, и ноутбук сжигает по 3–5 Вт всю ночь с закрытой крышкой! Проверьте выводcat /proc/cmdline: если там виситpcie_aspm=off— вот ваши пропавшие 25 % батареи за ночь! Лучше обновить прошивку самого SSD черезfwupdmgr, чем навсегда лишать ноутбук сна.
2. Дискретная видеокарта NVIDIA на гибридном ноутбуке без служб nvidia-suspend
На ноутбуках с гибридной графикой (Intel/AMD + дискретный чип NVIDIA) проприетарный модуль драйвера при закрытии крышки обязан сохранить видеопамять и перевести карту в состояние D3cold:
- убедитесь, что в вашей системе включены штатные системные юниты
systemd:nvidia-suspend.service,nvidia-hibernate.service,nvidia-resume.service, а также активирован параметр сохранения аллокаций видеопамятиNVreg_PreserveVideoMemoryAllocations=1и динамического управления питаниемNVreg_DynamicPowerManagement=0x02! Без этих двух настроек дискретный графический чип не гасит питание при уходе вs2idleи греет корпус в сумке всю дорогу!
3. Беспроводной донгл мыши или Bluetooth мгновенно будит спящий ноутбук при каждом толчке в рюкзаке!
В отличие от старого S3, в режиме s2idle все USB-порты по умолчанию остаются способными будить систему по малейшему движению оптического сенсора мыши, лежащей в соседнем кармане того же рюкзака!
- После ночного разряда выполните чтение журнала ядра последнего цикла сна:
journalctl -k -b 0 | grep -iE "PM: suspend|Wakeup|IRQ"! - Вы прямо по номеру прерывания увидите строку виновника — например,
xhci_hcd(USB-контроллер, в котором торчит миниатюрный приёмник мыши!) илиACPI: EC: Wakeup IRQ. Отключение пробуждения от конкретного USB-концентратора простым правиломudev(записьdisabledв атрибутpower/wakeupнужного порта) мгновенно прекращает ночные просыпания в рюкзаке!
4. Износ самого аккумулятора (ложные «минус 25 %» из-за просадки старых ячеек!)
Прежде чем искать несуществующий баг ядра, проверьте реальную остаточную ёмкость батареи командой upower -i /org/freedesktop/UPower/devices/battery_BAT0 (полная методика оценки деградации ячеек также приведена в руководстве как проверить износ аккумулятора ноутбука): если у старой батареи от заводских 55 Вт·ч осталось живых всего 18 Вт·ч, то даже скромный нормальный расход за 12 часов в пересчёте на крошечный остаток ёмкости отобразится как драматическое падение процентов! А для гарантированно нулевого расхода в длительных многодневных перелётах настройте автоматический переход из сна в гибернацию на диск через 2 часа (suspend-then-hibernate в /etc/systemd/sleep.conf, не забыв про отключение Secure Boot только в том случае, если ваш дистрибутив ещё не использует подписанный шифрованный раздел подкачки).
Контрольный чек-лист
- [ ] Прошивки UEFI BIOS, контроллера
ECи NVMe-накопителя обновлены штатной службойfwupdmgr. - [ ] Проверен
/proc/cmdlineна отсутствие запрещающих глубокий сон ключейpcie_aspm=offиnvme_core.default_ps_max_latency_us=0. - [ ] Счётчик аппаратной резидентности (
pmc_coreна Intel /amd-s2idleна AMD) подтверждает вход кристалла в глубокое состояние на уровне 90 %+ времени простоя. - [ ] В
journalctl -kпроверено отсутствие ночных ложных пробуждений от USB-ресиверов мыши, а на гибридных ноутбуках активировано управление питанием дискретного GPU.
Частые вопросы
Какое ядро Linux лучше всего ставить на свежий ноутбук 2025–2026 года ради автономности во сне?
На платформах последних двух лет разница между старым LTS-ядром трёхлетней давности и актуальным стабильным ядром ветки 6.8 — 6.14+ колоссальна: именно в свежих ядрах добавлены таблицы квирков amd_pmc, поддержка новых контроллеров USB4 при засыпании и корректная работа Panel Replay без лишнего жора батареи.
Опасно ли нести в закрытом неопреновом чехле ноутбук, у которого s2idle сломан и не уходит в глубокий сон?
Очень опасно! В замкнутом безвоздушном чехле даже тепловыделение 8–12 Вт разогревает корпус и аккумуляторную батарею свыше 55–60 °C за полчаса дороги, что резко ускоряет химическую деградацию и вздутие литий-полимерных ячеек. До исправления счётчика резидентности при упаковке ноутбука в плотный рюкзак всегда выбирайте полное Выключение (Power Off)!
Полезные материалы по смежным узлам ноутбука: руководство по проверке ноутбука с гарантией, проверка узлов по цифровому паспорту ноутбука.