Ubuntu systemd 使用 100% CPU 使用 sudo 手动运行时仅使用 20%

Ubuntu systemd 使用 100% CPU 使用 sudo 手动运行时仅使用 20%

我用 Golang 编写了一个程序(已编译)并使用 systemd 运行它,因为它需要长期运行、自动重启并在启动时运行,但它将 cpu 固定在 100%。相比之下,通过终端使用 sudo 运行时,只使用了 20% 左右。如果有帮助的话,该程序是 I/O 密集型的。

我也在读这个帖子这似乎有类似的问题,我尝试在屏幕后面运行它并使用 systemd 进行 nohup ,但仍然遇到相同的问题。还尝试为 I/O 添加 tty,但这似乎也不起作用。

任何帮助使其工作或 systemd 替代品的帮助将不胜感激。

[Unit]
Description=Program Description
Documentation=N/A
After=network.target

[Service]
Environment=PORT=54731
Type=simple
User=root
ExecStart=/home/ubuntu/GoProxy/proxy
Restart=on-failure

[Install]
WantedBy=multi-user.target

编辑:我的程序是我编写的自定义代理解决方案。密集型 I/O 是因为必须读取文件进行身份验证检查并将运行时信息记录到日志文件中。

编辑:我已经使用带有 sudo (根权限)的守护进程来运行它并在崩溃时重新启动,到目前为止工作正常。但然后我尝试在服务器使用 cron 启动时自动使用守护进程启动它,并且在执行此操作时遇到相同的问题(我通过 sudo 使用 cron,因此应该以 root 身份运行)

相关内容