我们有专用的 PostgreSQL(9.0.4) 服务器 (ubuntu 10.04.2LTS),有 2 个 CPU(总共 8 个核心)。在某些查询中,postgres 进程占用了所有 CPU,我们无法通过 ssh 连接到我们的服务器。我想知道是否有可能将一个核心专门用于操作系统/系统?
答案1
您需要更改 Postgres 的进程亲和性。
首先你需要 schedutils:
apt-get install schedutils
然后,您可以使用taskset
来更改特定 PID 的亲和性。这是手册页:http://linuxcommand.org/man_pages/taskset1.html
因此,理想情况下,您只应该将 7 个核心分配给 Postgres,剩下 1 个核心分配给您的系统。