如何在 PostgreSQL DB 服务器中将一个 CPU 核心专用于操作系统

如何在 PostgreSQL DB 服务器中将一个 CPU 核心专用于操作系统

我们有专用的 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 个核心分配给您的系统。

相关内容