![debian 上的自定义 systemd 进程启动缓慢](https://linux22.com/image/84140/debian%20%E4%B8%8A%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%20systemd%20%E8%BF%9B%E7%A8%8B%E5%90%AF%E5%8A%A8%E7%BC%93%E6%85%A2.png)
我正在通过存储库中提供的默认包在 debian 8.3 服务器上设置 rtpproxy。该软件包仍然附带 sysvinit 脚本,并且我想使用 keepalive,因此我尝试设置一个 systemd 服务文件。我借从他们的 github 仓库中获取一点从他们的 Fedora 设置来看。我还选择放弃套接字/服务类型设置,转而采用在 Exec 命令中定义套接字的更传统的 rtpproxy 方法。这是我正在使用的:
[Unit]
Description=A symmetric RTP proxy
After=network.target
[Service]
Type=forking
User=rtpproxy
Group=rtpproxy
EnvironmentFile=/etc/default/rtpproxy
PIDFile=/var/run/rtpproxy/rtpproxy.pid
ExecStart=/usr/bin/rtpproxy -s $CONTROL_SOCK -p /var/run/rtpproxy/rtpproxy.pid $EXTRA_OPTS
Restart=always
TimeoutStopSec=30s
[Install]
WantedBy=multi-user.target
变量$CONTROL_SOCK
和$EXTRA_OPTS
定义在/etc/default/rtpproxy
.
虽然这确实有效,但只有系统重新启动(看起来),该过程才需要一段时间才能完成启动。如果它一直在运行并且我重新启动该进程,那么速度很快。我如何确定为什么这个进程在系统启动时需要很长时间才能启动?
答案1
添加合适的-d
选项来调整调试级别,然后您将在日志中看到哪个步骤需要很长时间。