gpt4 book ai didi

Bash:限制具有指定名称的所有进程的 CPU 使用率

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:31 24 4
gpt4 key购买 nike

我在 CentOS 6.3 x64 机器上运行 JVM 实例。有时一个人的 CPU 使用率会飙升,I/O 会阻塞整台机器。

如何将所有 Java 进程的使用限制在一个核心上?还是两核?还是按照规定?

我已经尝试过 cpulimit,它对多核以及同名的多个进程都不起作用。

有没有一种简单的方法可以限制指定名称的所有进程的CPU使用率?

最佳答案

嗯,我想你只需要 pgrep (找到 PID)和 taskset .然后根据您的需要,您将运行(作为 super 用户)类似的东西:

for pid in $(pgrep <pattern>);
do
taskset -p 0x00000001 $pid
done

有关如何使用它的更多信息,请参阅taskset 手册页。您可能需要安装 schedutils 包。

当然,您可以通过修改处理器掩码(即您分配的 CPU)来根据您想要的任何复杂性来改变该方案。

我应该补充一点,我认为 cpuset(假设您是这个意思,我不知道有一个名为 cpulimit 的工具,但那不是'mean anything) 使用相同的底层机制。因此,这可能就像您过去的尝试一样是徒劳的。

关于Bash:限制具有指定名称的所有进程的 CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14970150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com