91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSQL--信號量和shmall 和 shmmax相關設置

發布時間:2020-07-08 09:55:52 來源:網絡 閱讀:5268 作者:朱飛東 欄目:MySQL數據庫

一、shared_buffers與shmmax,shmall,max_connections的關系

1.1、shared_buffers與max_connections的關系

shared_buffers 是查詢緩存,設置比較大可以提高PostgreSQL的效率,一般建議設置為系統內存的3/4,但是必須不少于128KB,并且不少于16KB乘以max_connections
?

1.2、shared_buffers與shmmax,shmall的關系

shared_buffers該參數不能超過由操作系統參數SHMMAX指定的值

內核的 shmall 和 shmmax 參數設置在/etc/sysctl.conf文件中,通過sysctl -p 可以生效

SHMMAX= 配置了最大的內存segment的大小 ------>這個設置的比SGA_MAX_SIZE大比較好。

SHMMIN= 最小的內存segment的大小

SHMMNI= 整個系統的內存segment的總個數

SHMSEG= 每個進程可以使用的內存segment的最大個數

shmall 是全部允許使用的共享內存大小,shmmax 是單個段允許使用的大小。這兩個可以設置為內存的 90%。例如 16G 內存,1610241024102490% = 15461882265,shmall 的大小為 15461882265/4k(getconf PAGESIZE可得到) = 3774873。
修改 /etc/sysctl.conf
kernel.shmmax=15461882265
kernel.shmall=3774873
kernel.msgmax=65535
kernel.msgmnb=65535
執行 sudo sysctl -p
可以使用 ipcs -l 看結果。ipcs -u 可以看到實際使用的情況

備注:shmmax & shmall 在PostgreSQL9.3開始,將共享內存從system V 修改為Posix和mmap方式,不再需要設置linux系統的shmmax參數

二、max_connections與信號量的關系

如果max_connections設置太大,信號量被消耗完畢,有可能會導致PostgreSQL無法啟動

2.1、信號量設置

信號量控制設置在/etc/sysctl.conf文件中,通過sysctl -p 可以生效,該文件用于控制內核信號量,信號量是System VIPC用于進程間通訊的方法。

kernel.sem = 250 512000 100 2048

?

2.2、查詢當前信號量使用情況

查看當前信號量使用情況
PostgreSQL--信號量和shmall 和 shmmax相關設置
?

2.3、查看當前的設置:

cat /proc/sys/kernel/sem
PostgreSQL--信號量和shmall 和 shmmax相關設置
這四個數字分別是:SEMMSL,SEMMNS,SEMOPM,SEMMNI
SEMMSL:內核參數,控制每個信號量集合的最大信號數。
SEMMNS:內核參數,控制系統范圍內能使用的最大信號量數。
SEMOPM:semop()函數(內核函數,用來操作信號量)每次調用鎖能操作的一個信號量集中的最大信號量。
SEMMNI:內核中信號量集的最大數量。
SEMMNS=SEMMSL*SEMMNI
SEMOPM=SEMMSL,這兩個參數一般設置為相同。
?

2.4、信號量設置計算

對于PostgreSQL數據庫來說:
SEMMNI >= ceil((max_connections + autovacuum_max_workers + 4) / 16)
SEMMSL >= 17
假設一個PG庫如下設置:
max_connections=1000, autovacuum_max_workers =3,
則這幾個參數的設置是:
SEMMNI = ceil((1000+3+4))/16)=63,因為考慮到其他進程使用,一般設置為63+25=88
SEMMSL要求大于17,保持默認250
SEMOPM=SEMSL=250
SEMMNS=SEMMNIMSMMSL=88250=22000
在/etc/sysctl.conf文件中添加:

kernel.sem=250  22000 250  88
運行:sysctl -p   生效 

使配置生效
設置完成之后,如果啟動數據庫還是報同樣的錯誤,那么可以重啟操作系統再試試。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

如皋市| 崇文区| 商河县| 青阳县| 曲沃县| 苗栗市| 衡阳县| 沧源| 平武县| 将乐县| 汾阳市| 巫溪县| 西青区| 永修县| 汤原县| 闵行区| 东宁县| 临江市| 怀安县| SHOW| 澄城县| 留坝县| 利川市| 中江县| 方城县| 赤城县| 白河县| 郓城县| 大安市| 土默特左旗| 永胜县| 博白县| 买车| 咸宁市| 宜兰县| 营山县| 新乐市| 普陀区| 广饶县| 沙洋县| 平南县|