我已使用RuntimeWatchdogSec=10
Systemd正在开始向看门狗设备发送大量ping(前5秒1500)。它每隔一段时间就会正常工作,即一次或两次ping,间隔为5秒,然后再次坚果。知道是什么引起了这个吗?
我在内部开发的嵌入式Linux发行版上使用systemd v204
答案 0 :(得分:1)
Systemd在同一个循环中执行其内务工作并执行ping操作。
因此,当systemd从其保持工作中解脱出来时,它将等待RuntimeWatchdogSec的指定值的一半,并且它将执行ping操作。
在启动时,systemd加载了其工作队列,因此它会经常ping。
代码与此类似,
while (cond)
{
if (cond1)
watchdog_ping(); /* Ping happens here */
if (task1_queue() > 0)
continue;
if (task2_queue() > 0)
continue;
if (task3_queue() > 0)
continue;
/* ...... */
/* Sleep for half the RuntimeWatchdogSec time */
do_wait();
}