Здравствуйте.
На Keenetic Start KN-1112, KeeneticOS 5.01.C.4.0-1, периодически возникает постоянная загрузка CPU 90–100% при практически отсутствующем пользовательском трафике.
По диагностике:
show system cpustat:
busy avg ~98%
user avg ~86%
system avg ~11%
irq/sirq ~0%
iowait 0%
show processes показывает, что основную нагрузку создаёт процесс ndm:
ndm
cpu avg ~87%
cur ~93%
max ~98%
При этом ndnproxy, stubby, WireGuard и другие процессы практически не потребляют CPU.
В show threads основной потребитель:
DNS route IPset sync queue
cpu:
min 34%
max 95%
avg 53–72%
cur 42–44%
Стек:
Netfilter::IpSet::Net6::AddItem(...)
libndmIp6Object()
Dns::Route::ResolveQueue::Group_::UpdateSet6_()
Dns::Route::ResolveQueue::Group_::OnCacheSync_()
Dns::InterfaceSpecific::ClearServiceData(...)
То есть нагрузка возникает при синхронизации IPv6 ipset для DNS/FQDN routing.
В конфигурации используются object-group с FQDN/CIDR и правила dns-proxy route для маршрутизации через PPPoE и WireGuard.
Важный момент: после выполнения
no dns-proxy route
CPU сразу падает примерно до 5–10%, а поток DNS route IPset sync queue исчезает. При этом правила маршрутизации остаются отображаться в GUI. Через некоторое время проблема воспроизводится снова: поток DNS route IPset sync queue появляется и снова начинает потреблять 40–95% CPU.
IPv6 у провайдера фактически не используется.
Просьба проверить, не является ли это известной проблемой KeeneticOS 5.01.C.4.0-1 в механизме DNS/FQDN routing / синхронизации IPv6 ipset (Dns::Route::ResolveQueue::Group_::UpdateSet6_).
Готов предоставить show system, show system cpustat, show processes, show threads, конфигурацию и лог.
Такая проблема воспроизводится на множестве аналогичных устройств.