跳到主要内容
版本:1.0.14

限制CPU使用率

pg_pcpu_limit 的原理: 为进程预设一个 cpu 占用率上限,并实时监控进程是否超出此上限值,若超出则让该进程暂停运行一段时间。pg_pcpu_limit 使用 SIGSTOP 和 SIGCONT 这两个信号来控制进程。它不会修改进程的 nice 值,而是通过监控进程的 CPU 占用率来做出动态调整。

限制程序CPU使用率:

  1. 指定PID号

限制PID 为21203 的程式其CPU 用量上限为50%

pg_pcpu_limit --pid 21203 --limit 50

2)指定程序的名称

pg_pcpu_limit --exe md5sum --limit 50

--pid是进程号

--limit是进程使用CPU百分比。

--exe是程序名称

CPU资源控制步骤

1)启动一个客户进程,cpu资源占满进程

打开hsql运行一个过程,代码如下

DECLARE

V_A NUMBER;

BEGIN

while(true)

loop

V_A := factorial(20000);

end loop;

END;

/

image-20240621165043529

查看CPU使用资源情况,使用命令top

image-20240621165015937

3)使用命令来限制CPU资源

pg_pcpu_limit -p 进程PID -l 使用率

Pg_pcpu_limit -p 1507281 -l 40

image-20240621165006222

  1. 查看CPU使用资源情况,使用命令top

image-20240621164956272