标签: bash centos cpu-usage
我在CentOS 6.3 x64机器上运行JVM实例。有时一个CPU的使用率很高,I / O会阻塞整个机器。
如何将所有Java进程的使用限制为单个核心?还是两个核心?或者按照规定?
我尝试了cpulimit,它无法用于多个核心,以及多个具有相同名称的进程。
cpulimit
是否有一种简单的方法来限制指定名称的所有进程的CPU使用率?
答案 0 :(得分:1)
好吧,我认为你需要的只是pgrep(找到PID)和taskset。然后根据您的需要,您可以运行(以超级用户身份):
pgrep
taskset
for pid in $(pgrep <pattern>); do taskset -p 0x00000001 $pid done
有关如何使用它的更多信息,请参阅taskset手册页。您可能需要安装schedutils包。
schedutils
当然,您可以通过修改处理器掩码(即您指定的CPU)来将该方案改变为您想要的任何复杂度。
我应该补充一点,我认为 cpuset(假设您的意思是,我不知道名为cpulimit的工具,但这并不意味着什么)使用相同的潜在机制。因此,这可能与过去的尝试一样徒劳。
cpuset