可能会遇见这样的场景,突发出现某些 Bad SQL,或者 Top SQL 长
期占有系统资源,导致系统资源过载,甚至影响业务服务。
pg_pcpu_limit 正是为了解决这一问题而设计,它是一个用于限制进程
CPU 使用率的工具。
它通过为进程预设一个 CPU 占用率上限,并实时监控进程是否超出此
上限值,若超出则让该进程暂停运行一段时间,以此来控制 CPU 资源
的使用。
pg_pcpu_limit 使用 SIGSTOP 和 SIGCONT 这两个信号来控制进程。
这 种 动 态 调 整 机 制 不 会 修 改 进 程 的 nice 值 , 而 是 通 过 监 控 进 程 的
CPU 占用率来做出动态调整。
使用方法
pg_pcpu_limit 的使用方法相对简单,主要通过命令行参数来指定进程
的 CPU 使用率限制。
查看帮助信息,可以了解有如下选项。
[halo@centos7 bin]$ pg_pcpu_limit -h
Usage: pg_pcpu_limit [OPTIONS...] TARGET
OPTIONS
-l, --limit=N percentage of cpu allowed from 0 to 200 (requ
ired)
-v, --verbose show control statistics
-z, --lazy exit if there is no target process, or if it
dies
-i, --include-children limit also the children processes
评论