使用 DS_TOTAL_MEMORY 配置参数来指定 PDQ 查询可用的内存数量。此数量应小于计算机物理内存,减去固定的开销,比如操作系统大小和缓冲池大小。
如果 SHMTOTAL=0 且未设置 DS_MAX_QUERIES,则 DS_TOTAL_MEMORY = num_cpu_vps * 2 * 128。
如果未设置 DS_MAX_QUERIES,则最小值是 num_cpu_vps * 2 * 128。
没有最大值限制,除非在您机器上的软件有任何限制。
不要将 DS_TOTAL_MEMORY 跟配置参数 SHMTOTAL 和 SHMVIRTSIZE 弄混。SHMTOTAL 设置指定数据库服务器的所有内存(内存的常驻、虚拟和消息部分的总和)。SHMVIRTSIZE 设置指定虚拟部分的大小。DS_TOTAL_MEMORY 是 SHMVIRTSIZE 的一个逻辑子集。
对于 OLTP 应用程序,将 DS_TOTAL_MEMORY 设置在 20% 与 SHMTOTAL 值的 50% 之间的 KB 数。
对于涉及大的决策支持(DSS)查询的应用程序,将 DS_TOTAL_MEMORY 值增加到 50% 与 SHMTOTAL 的 80% 之间。如果您使用数据库服务器排他地进行 DSS 查询,则将此参数设置在 90% 与 SHMTOTAL 的 100% 之间。
设置 DS_TOTAL_MEMORY 配置参数为不大于量 (SHMVIRTSIZE - 10 MB)的任意值。
有关您的平台上最大可用内存的信息,请参阅 GBase_8t machine notes。