Python 启动脚本框架,用于拉起 FINS Agent 并推送配置与数据流。
Agent 支持在启动后设置 Linux 调度策略 / 优先级(Agent 进程的所有线程默认一并生效)。
from fins import Agent
agent = Agent("my_agent")
# 实时调度:SCHED_RR,静态优先级 50(1~99,越大越优先)
agent.set_scheduling("rr", 50)
# 或 SCHED_FIFO
agent.set_scheduling("fifo", 80)
# 只作用于主线程
agent.set_scheduling("rr", 50, apply_to_threads=False)
# 非实时策略(other / batch / idle)用 nice 调整权重,-20 ~ 19,越小越优先
agent.set_nice(-10)权限不足(非 root 且无 CAP_SYS_NICE)时不会中断启动,只打印告警;
若配置了 escalate=True,会自动回退到 sudo chrt / sudo renice
(需要免密 sudo 或已缓存凭据):
agent.set_scheduling("rr", 50, escalate=True)
agent.set_nice(-10, escalate=True)放开权限的三种方式(任选其一):
- 以 root 运行启动脚本
sudo setcap cap_sys_nice+ep ~/.fins/install/agent- 在
/etc/security/limits.conf中为当前用户配置rtprio/nice(需重新登录)
注意:Linux 调度策略按线程生效,插件加载阶段新建的线程会在加载完成后 再次应用一次,无需额外处理。GDB 调试模式下会自动解析被调试进程的真实 PID。