PG 記憶體引數配置標準

2022-03-15 09:18:56 字數 3001 閱讀 5216

引用:

wal_buffers預設值為-1,此時wal_buffers從shared_buffers中分配,wal_buffers大小為shared_buffers的1/32;

autovacuum_work_mem預設值為-1,此時使用maintenance_work_mem的值。

pg伺服器物理記憶體為32g。

pg需要占用記憶體計算公式為:

max_connections*work_mem + max_connections*temp_buffers +shared_buffers+(autovacuum_max_workers * maintenance_work_mem)

假設postgresql的配置如下:

max_connections = 100

temp_buffers=32mb

work_mem=32mb

shared_buffers=19gb

autovacuum_max_workers = 3

maintenance_work_mem=1gb #預設值64mb

記憶體占用計算

select

( (

100*(32

*1024

*1024)::bigint

)

+ (100

*(32

*1024

*1024)::bigint

)

+ (19

*(1024

*1024

*1024)::bigint

)

+ (3

* (1024

*1024

*1024)::bigint

))::float8

/1024

/1024

/1024;--

輸出28.25

--# 此時pg滿載峰值時最多使用28.25gb記憶體,還有3.75gb記憶體給作業系統使用

pg需要占用記憶體計算公式為:

max_connections*work_mem + max_connections*temp_buffers +shared_buffers+wal_buffers+(autovacuum_max_workers * autovacuum_work_mem)

假設postgresql的配置如下:

max_connections = 100

temp_buffers=32mb

work_mem=32mb

shared_buffers=19gb

wal_buffers=16mb #--with-wal-segsize的預設值

autovacuum_max_workers = 3

maintenance_work_mem=1gb

記憶體占用計算

select

( (

100*(32

*1024

*1024)::bigint

)

+ (100

*(32

*1024

*1024)::bigint

)

+ (19

*(1024

*1024

*1024)::bigint

)

+ (16

*1024

*1024)::bigint

+ (3

* (1024

*1024

*1024)::bigint

))::float8

/1024

/1024

/1024;--

輸出28.26

--# 此時pg滿載峰值時最多使用28.5gb記憶體,還有3.5gb記憶體給作業系統使用

pg需要占用記憶體計算公式為:

max_connections*work_mem + max_connections*temp_buffers +shared_buffers+wal_buffers+(autovacuum_max_workers * autovacuum_work_mem)+ maintenance_work_mem

假設postgresql的配置如下:

max_connections = 100

temp_buffers=32mb

work_mem=32mb

shared_buffers=19gb

wal_buffers=262143kb

autovacuum_max_workers = 3

autovacuum_work_mem=256mb

maintenance_work_mem=2gb

記憶體占用計算

select

( (

100*(32

*1024

*1024)::bigint

)

+ (100

*(32

*1024

*1024)::bigint

)

+ (19

*(1024

*1024

*1024)::bigint

)

+ (262143

*1024)::bigint

+ (3

* (256

*1024

*1024)::bigint

)

+ ( 2

* (1024

*1024

*1024)::bigint

))::float8

/1024

/1024

/1024;--

輸出28.01

--# 此時pg載峰值時最多使用28.25gb記憶體,還有3.75gb記憶體給作業系統使用.建議所有記憶體消耗根據硬體配置,也就是使用這個配置

PG複製引數

複製引數 流複製 單向複製 級聯複製 雙向複製 下面說流複製的引數 1 傳送伺服器 max wal senders integer 指定來自備用伺服器或流基礎備份客戶端的併發連線的最大數目 即同時運 行 wal 傳送者程序的最大數目 預設值是零,這意味著禁用複製。此引數不能高於max connect...

PG引數調優

修改方式 alter system set configuration parameter 檢視方式 show all show value max connections 預設值是100。fsync 預設值是on,強制把資料同步到磁碟。shared buffers 預設值是24m,決定有多少記憶體...

PG修改引數方法

1.檢視引數檔案位置postgres show config file config file data pgsql data postgresql.conf 1 row postgres show hba file hba file data pgsql data pg hba.conf 1 ro...