Ubuntu
Postgresql 性能 - 調整 SHMMAX 和 SHMALL
我已經閱讀了網上關於提高 postgres 性能的所有內容,但是 SHMMAX 和 SHMALL 的“正確”值仍然讓我難以理解。
共識似乎是 SHMMAX = total_memory/4 和 SHMALL = total_memory/2 是安全的起始值。
但是,SHMALL 可以以頁或字節為單位進行衡量,我找不到任何關於在 Ubuntu 上使用的資訊。
Ubuntu(或更一般的 Debian)是否為 SHMALL 使用頁面或字節?
對於我使用
SHMALL
的所有 Linux 系統,以頁SHMMAX
為單位,以字節為單位。我認為您可以使用ipcs
命令檢查您的系統,該命令總是在輸出時將上述參數轉換為千字節,並將其與sysctl
值進行比較:[aseryozhin@centos ~]$ ipcs -l ------ Shared Memory Limits -------- max number of segments = 4096 // SHMMNI max seg size (kbytes) = 524288 // SHMMAX max total shared memory (kbytes) = 8388608 // SHMALL min seg size (bytes) = 1 [aseryozhin@centos ~]$ sysctl -e kernel.shmmax kernel.shmmax = 536870912 [aseryozhin@centos ~]$ sysctl -e kernel.shmall kernel.shmall = 2097152 [aseryozhin@centos ~]$ getconf PAGE_SIZE 4096
SHMMAX:524288 * 1024 = 536870912
SHMALL:8388608 * 1024 / 4096 = 2097152