Postgres 内存使用率太低

Aid*_*ell 2 postgresql linux memory

我有一个 400GB 的内存Postgres 9.3.4 DB在运行Fedora20,每个表都有一些索引。我已将共享缓冲区提高到 4GB(系统有 16GB 可用),在内核中设置 shm 并将 设为effective_cache_size12GB。work_mem是 60MB

然后我每秒对数据库运行数百个查询很长一段时间。我的整个系统(带操作系统)仅使用 3GB RAM 并且没有交换。

Postgres并没有真正使用它可能使用的 RAM,我宁愿最大化我的 RAM 并获得查询/索引性能(如果可能)。

我是否缺少一些配置方面的知识?

Cra*_*ger 6

Postgres 并没有真正使用它本可以使用的 RAM

事实上,很可能是这样。

PostgreSQL 依赖 Linux 内核来缓存磁盘块。这就是它effective_cache_size的意义 - 它告诉 PostgreSQL内核可以维持什么样的缓存大小。

跑步:

free -m
Run Code Online (Sandbox Code Playgroud)

您可能会看到几乎所有 RAM 都用作缓冲区/缓存。这正是您想要的。