Enr*_*ico 9 postgresql ubuntu debian shmmax sysctl
我已经阅读了网上关于提高 postgres 性能的所有内容,但是 SHMMAX 和 SHMALL 的“正确”值仍然让我难以理解。
共识似乎是 SHMMAX = total_memory/4 和 SHMALL = total_memory/2 是安全的起始值。
但是,SHMALL 可以以页数或字节数来衡量,我找不到任何有关在 Ubuntu 上使用的信息。
Ubuntu(或更普遍的 Debian)是否为 SHMALL 使用页面或字节?
小智 11
我使用的所有 Linux 系统SHMALL都以页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
Run Code Online (Sandbox Code Playgroud)
SHMMAX:524288 * 1024 = 536870912
商城:8388608 * 1024 / 4096 = 2097152
| 归档时间: |
|
| 查看次数: |
16064 次 |
| 最近记录: |