【问题标题】:How to reduce cpu utilization by background processes?如何降低后台进程的cpu利用率?
【发布时间】:2013-02-07 21:11:12
【问题描述】:

我有一个 shell 脚本 这个脚本调用另一个在后台执行的脚本。然而,在后台运行的这个脚本会增加 CPU 利用率。 我的任务是降低 CPU 利用率。请帮忙。我们如何通过 shell 脚本分叉一个进程? 我试过 nohup 和命令

示例:-

Parent_script.sh 执行 child_script.sh &(在后台) 这个 child_script.sh 增加了 CPU 利用率

注意:-child_script.sh 必须在后台强制运行,别无选择。

【问题讨论】:

    标签: shell unix aix


    【解决方案1】:

    看看nice命令降低进程的优先级。

    例如,要运行优先级最低的脚本,您可以运行:

    nice -n 9 child_script.sh &
    

    请注意,这只有在您的机器有多个进程需要 CPU 可以提供的更多资源时才有效。另一方面,如果您的机器处于空闲状态,那么即使是最低优先级的进程也可以获得高达 99% 的 CPU。

    如果您想限制进程的 CPU 使用率,即使机器上有可用的 CPU,请查看cpulimit 程序。

    【讨论】:

    • 感谢您的回答...如果我不想降低优先级怎么办?还有其他选择吗??
    • 找出它为什么使用这么多 CPU 并调整脚本。
    • 我尝试了你的建议,但cpu利用率仍然没有降低。
    • 父脚本的CPU使用率很高,因为它是在后台执行的子进程,父脚本在很大程度上被调优了..
    【解决方案2】:

    另一种限制资源的方法是使用 WLM(工作负载管理器)。您可以将所有进程分配到不同的类中。每个班级都将获得优先级和处理器能力份额。您可以动态增加或减少特定类的处理能力。默认类包含 AIX 使用的进程。

    为了能够根据脚本的内容(你在脚本里面运行什么样的命令)来降低child_script.sh的处理能力,我需要看一下内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多