【问题标题】:Systemd service taking a long time to runSystemd 服务需要很长时间才能运行
【发布时间】:2021-12-31 04:37:34
【问题描述】:

我的服务在 EC2 实例中作为后台服务运行。但是启动新服务或重新启动服务需要很长时间(参考图片:我重新启动 EC2,服务在 9:00 重新启动,但在 11:32,服务打印第一个日志)。

这是我在 etc/systemd/system 中的服务配置文件:

[Unit]
Description=file scanner ...
After=network.target


[Service]
User=root
Group=root
WorkingDirectory=/apps/file-scanner
ExecStart=/usr/bin/python3 main.py
StandardOutput=file:/var/log/file-scanner/logs.log
StandardError=file:/var/log/file-scanner/logs.log


[Install]
WantedBy=multi-user.target

请帮忙。

【问题讨论】:

  • 你的 main.py 包含什么?您可以立即看到 systemd 的启动日志,但是您的应用需要时间来制作它的第一个日志?
  • 我的 main.py 基本上是每 10 秒有一次白色循环,并打印消息。启动和打印第一条消息需要 1 小时。我最近才遇到这个问题。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: python-3.x linux systemd


【解决方案1】:

建议从命令行启动你的python脚本来测试需要多长时间:

  /usr/bin/python3 /apps/file-scanner/main.py 

如果修复您的/apps/file-scanner/main.py 所需的时间超过您需要的时间,并对其进行分析以了解需要很长时间的情况。使用标准的 python3 分析工具并放置许多日志消息。

很可能您的/apps/file-scanner/main.py 脚本正在消耗大部分内存资源和cpu 资源,因此您的脚本需要很长时间才能启动。

还学习使用top command 在运行时监控机器利用率。

【讨论】:

    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 2011-01-17
    相关资源
    最近更新 更多