我在启动时使用 systemd 启动自定义进程时遇到了问题。我使用的是为 RPi 构建的 Arch Linux 发行版。我启动的服务没有什么特别之处。它是一个在 UDP 端口上监听专有协议的服务器,该协议会适当地响应请求(用 C 编写)。我遇到的问题是,当通过 systemd 启动服务时,客户端每隔几秒钟就会出现超时问题,因为查询和响应会发送到服务器和从服务器发送。当我登录后从命令行运行服务时,我没有遇到任何这些超时问题。我怀疑存在与 systemd 相关的某种进程监控开销,这导致了轻微的速度减慢。是否有任何文档描述 systemd 施加的监控开销类型以及如何关闭它?我的服务 .service 文件非常简单,按照示例操作即可。
作为第二种方法,我正在考虑尝试 Wheezy 发行版,看看我是否会遇到类似的超时问题,因为我相信 init 系统不是 systemd。我想尝试一下,但我还没准备好放弃 Arch 和我付出的努力。