windows - Postgres 恒定 30% CPU 使用率

标签 windows postgresql centos database-migration

我最近将我的 Postgres 数据库从 Windows 迁移到 CentOS 6.7。 在 Windows 上,数据库从不使用太多 CPU,但在 Linux 上,我看到它使用恒定的 ~30% CPU(使用 top)。 (机上4核)

任何人都知道这是否正常,或者为什么会这样做? 该应用程序似乎运行良好,并且与 Windows 一样快或更快。

注意,这是一个大数据库,100gb+数据,1000+数据库。

我尝试使用Pgadmin监控服务器状态,但是服务器状态挂起,无法运行,报错“log_filename parameter must be equal”

最佳答案

对于 1000 个数据库,我预计 vacuum worker 和统计收集器会花费大量时间来检查需要维护的内容。

我建议你做两件事

  • 提高autovacuum_naptime参数以减少检查频率
  • stats_temp_directory 放在 ramdisk 上

您可能还设置了一个较高的 max_connections 限制,以允许您的客户端使用那些大量的数据库,这是另一个可能的 CPU 负载来源,因为大量的“槽”是每次后端必须与其他后端同步时检查。

关于windows - Postgres 恒定 30% CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33346326/

相关文章:

postgresql - Postgres : order of index

php - 优美的DOS命令错误处理

c# - 在 C# 中使用 TaskDialogIndirect

sql - 跳过 PostgreSQL 中的每第 n 个结果行

pdf - 在 centos 中支持非拉丁字体

git - 将 git repo 文件推送到服务器

linux - centos强制使用特定版本的JAVA

c++ - 有没有一种方法可以在不重新启动或注销的情况下加载光标?

c++ - 如何在网络共享驱动器上使用 sqlite3 数据库?

python - Web 服务器中的 Airflow Dag 状态不一致