PostgreSQL10基礎(1)Centos7配置

參考文檔:https://www.postgresql.org/docs/10/static/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT

IPC配置

名稱 描述 Postgres值 查詢方法
SHMAX 共享內存段的最大大小(字節),一般配置爲服務器內存的50% 建議服務器內存的50% sysctl -a |grep shmmax
SHMALL 可用共享內存總量(字節或頁面) SHMMAX/PAGE_SIZE sysctl -a |grep shmall

可通過getconf PAGE_SIZE查詢PAGE_SIZE大小
以8G內存服務器爲例,shmmax設置爲允許4G共享內存段

修改當前IPC參數,立即生效,重啓後失效

sysctl -w kernel.shmmax=4294967296
sysctl -w kernel.shmall=1048576

設置/etc/sysctl.conf中參數,重啓後生效(以以8G內存服務器爲例,shmmax設置爲允許4G共享內存段爲例)

  • kernel.shmmax=102410241024*4
  • kernel.shmall=kernel.shmmax/PAGE_SIZE
#postgres
kernel.shmmax=4294967296
kernel.shmall=1048576

禁用RemoveIPC

防止用戶註銷時,操作系統移除該用戶所有的共享內存段和信號量

編輯/etc/systemd/logind.conf

RemoveIPC=no

重啓服務生效配置

systemctl daemon-reload
systemctl restart systemd-logind

內存設置

設置/etc/sysctl.conf中參數,重啓後生效

# 當物理內存耗盡後才使用swap
vm.swappiness = 0
#內存拒絕等於或者大於總可用 swap 大小以及 overcommit_ratio(默認爲50)指定的物理 RAM 比例的內存請求
#vm.overcommit_memory = 2

系統限制

可通過命令查詢系統當前限制

ulimit -a

其中open files和max user processes值可能過小

修改/etc/systemd/system.conf

DefaultLimitNOFILE=10000
DefaultLimitNPROC=10000

重啓系統

Huge Page

優勢:

  1. Page更大(一般頁爲4K),內存管理更高效
  2. Huge Page不會被swap,只能存在於內存中
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章