【问题标题】:Background process with limited resources资源有限的后台进程
【发布时间】:2019-05-20 08:10:02
【问题描述】:

我想找一个机会来限制脚本 php 的 CPU 使用率。 我的脚本在 Cron 任务的帮助下运行,并在 CLI 模式下工作。 问题是启动后CPU使用率是100%。 是什么导致同一服务器上的站点停止响应后台任务的执行时间。 是否可以限制此脚本的 CPU 使用率?例如,最多 50%。

VPS Linux Ubuntu 16。 内存 6 GB。 CPU 2 倍。 PHP 7.2。

【问题讨论】:

    标签: php nginx cron apache2


    【解决方案1】:

    您可以使用nicerenice 来降低进程的优先级,例如renice +10 1234 将使进程 1234 的调度优先级较低(限制为 -20+19,值越小,优先级越高)。

    使用cpulimit 可以限制cpu 的使用,例如。 cpulimit -l 50 -p 1234 将进程 1234 限制为 50%

    另见https://scoutapm.com/blog/restricting-process-cpu-usage-using-nice-cpulimit-and-cgroups

    【讨论】:

    • 是的,看来我需要。但是在任何地方你都需要知道 UID 进程。可以将其集成到以下类型的命令中:“php console feed:generate”?
    • 确实有效。我使用“nice -n10 php 控制台提要:生成”
    猜你喜欢
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 2018-03-17
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多