我有一个shell脚本这个脚本调用另一个在后台执行的脚本。但是,在后台运行的此脚本会增加CPU利用率。 我的任务是降低CPU利用率。请帮忙。我们如何通过shell脚本分叉进程? 我试过nohup,&命令
示例: -
Parent_script.sh执行child_script.sh& (在后台) 这个child_script.sh增加了CPU利用率
注意:-child_script.sh必须强制在后台运行,除此之外别无选择。
答案 0 :(得分:2)
查看nice
命令以降低进程的优先级。
例如,要运行优先级最低的脚本,您可以运行:
nice -n 9 child_script.sh &
请注意,这仅适用于您的计算机有多个进程需要CPU可以提供的更多资源的情况。另一方面,如果您的机器处于空闲状态,那么即使是最低优先级的进程也可以获得高达99%的CPU。
如果您想限制进程的CPU使用率,即使计算机上有可用CPU,请查看cpulimit
程序。
答案 1 :(得分:0)
限制资源的另一种方法是使用WLM(工作负载管理器)。您可以将所有进程分配到不同的类中。每个班级都将获得优先权和分享处理能力。您可以动态增加或减少特定类的处理能力。默认类包含AIX使用的进程。
为了能够根据脚本的内容(你在脚本中运行什么样的命令)来降低child_script.sh的处理能力,我需要查看内容。