我有一个 4GB 2 核 Ubuntu droplet,它似乎没有正确利用 RAM 和 CPU。
我尝试优化设置以postgresql.conf
匹配实例(基于 pgtune):
max_connections = 20
shared_buffers = 1GB
effective_cache_size = 3GB
work_mem = 26214kB
maintenance_work_mem = 512MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 500
... 插入后,我重新加载了配置并重新启动了服务器。
但是,打开htop
该进程(由用户拥有postgres
)时仅使用 1 个核心和大约 5% 的可用 RAM。
这是top
Tasks: 124 total, 2 running, 120 sleeping, 2 stopped, 0 zombie
%Cpu(s): 50,0 us, 0,2 sy, 0,0 ni, 49,8 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem: 4048268 total, 3890804 used, 157464 free, 24012 buffers
这是free -m
total used free shared buffers cached
Mem: 3953 3800 153 1065 23 3367
-/+ buffers/cache: 409 3544
Swap: 0 0 0
有什么建议吗?哪里出了问题?
答案1
Postgresql 默认不会将任务拆分到不同的核心上(而且我不知道您是否可以轻松添加此功能),但它可能会在不同的核心上执行不同的查询。
无论如何,似乎没有什么问题,所以不要担心。