Aid*_*ell 2 postgresql linux memory
我有一个 400GB 的内存Postgres 9.3.4 DB
在运行Fedora20
,每个表都有一些索引。我已将共享缓冲区提高到 4GB(系统有 16GB 可用),在内核中设置 shm 并将 设为effective_cache_size
12GB。work_mem
是 60MB
然后我每秒对数据库运行数百个查询很长一段时间。我的整个系统(带操作系统)仅使用 3GB RAM 并且没有交换。
Postgres
并没有真正使用它可能使用的 RAM,我宁愿最大化我的 RAM 并获得查询/索引性能(如果可能)。
我是否缺少一些配置方面的知识?
Postgres 并没有真正使用它本可以使用的 RAM
事实上,很可能是这样。
PostgreSQL 依赖 Linux 内核来缓存磁盘块。这就是它effective_cache_size
的意义 - 它告诉 PostgreSQL内核可以维持什么样的缓存大小。
跑步:
free -m
Run Code Online (Sandbox Code Playgroud)
您可能会看到几乎所有 RAM 都用作缓冲区/缓存。这正是您想要的。