You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
diagnose: «PSI недоступен (старое ядро)» на ядре 6.18 — на деле CONFIG_PSI_DEFAULT_DISABLED, сенсор давления мёртв на всём флоте #37
На всём флоте (11 нод + панель, ядро 6.18.47-x64v3-xanmod1, поставлено самим тулкитом) блок «давление» в na-diagnose не работает и объясняет это неверно:
Ядро не старое — оно новее того, где PSI появился (4.20). Сенсор молчит на 100% боксов, то есть заявленная диагностика давления по CPU/памяти/IO не даёт ничего ни на одной ноде, и никто этого не замечает, потому что строка выглядит как штатное «на этом железе не поддерживается».
Причина
XanMod (как и стоковые ядра Debian) собран с CONFIG_PSI_DEFAULT_DISABLED=y: PSI есть, но выключен до тех пор, пока в командной строке ядра нет psi=1.
$ uname -r
6.18.47-x64v3-xanmod1
$ grep CONFIG_PSI /boot/config-$(uname -r)
CONFIG_PSI=y
CONFIG_PSI_DEFAULT_DISABLED=y
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.18.47-x64v3-xanmod1 root=PARTUUID=… ro console=tty0 …
$ ls /proc/pressure/
ls: cannot access '/proc/pressure/': No such file or directory
scripts/diagnose.sh:711 проверяет только [[ -r /proc/pressure/cpu ]] и любой промах трактует как «старое ядро».
Починка
Различать три состояния вместо двух — и в случае «выключено» подсказывать, что делать:
-else info "PSI недоступен (старое ядро)"; fi+elif grep -q '^CONFIG_PSI=y' "/boot/config-$(uname -r)" 2>/dev/null \+ && ! grep -qw 'psi=1' /proc/cmdline 2>/dev/null; then+ info "PSI выключен в сборке ядра (CONFIG_PSI_DEFAULT_DISABLED=y) — включается 'psi=1' в GRUB_CMDLINE_LINUX_DEFAULT + update-grub + ребут"+else+ info "PSI недоступен (ядро без CONFIG_PSI)"+fi
Логичное продолжение — раз тулкит сам ставит XanMod и сам правит GRUB, optimize мог бы дописывать psi=1 в GRUB_CMDLINE_LINUX_DEFAULT (ребут после установки ядра всё равно требуется, отдельного простоя не появится). Тогда сенсор давления начнёт приносить пользу вместо строки-заглушки. Если делать — стоит выделить это флагом (ENABLE_PSI=1), потому что учёт PSI не бесплатен для планировщика.
Окружение
node-accelerator 4.0.0 / 4.0.1, Debian 12 и 13, ядро XanMod 6.18.47-x64v3 (устанавливает сам тулкит), 12 боксов из 12.
Activity
jestivald commentedon Sep 2, 2026
Исправлено в v4.1 (PR #42, merge 427b13f): https://github.com/jestivald/node-accelerator/releases/tag/v4.1 — разбор в CHANGELOG, секция v4.1.
optimize: TTY-гейт курсора, RPS без гонки с маршрутом, ручки ENABLE_P…
merge v4.1-optimize: #28 #30 #37 + ручки ENABLE_PSI/NA_JOURNAL_MAX_USE
diagnose: датчики меряют тот же срез, что и правила + честный --json …
merge v4.1-diagnose: #27 #30 #31 #32 #34 #35 #37 #38 #39 — датчики ме…