1

Informix 11.70.TC5DE(Windows Vista 32 位):

我为 DSS 查询配置了一个具有 512MB 内存和 300MB 磁盘空间的实例。当我指定只有一个用户将提交 DSS 查询时,为什么 oninit 会自动将我的非并行查询的内存更改为只有 94464kb?

在此处输入图像描述

4

1 回答 1

1

DS_NONPDQ_QUERY_MEM(非并行查询内存)的最大大小限制为总 PDQ(也称为 DS 或决策支持)内存的 25%。因此,您需要增加 DS_TOTAL_MEMORY 以获得更大的 DS_NONPDQ_QUERY_MEM 值。另一方面,90 MiB 的非 PDQ 内存相当大。可能不值得担心非 PDQ 内存的确切大小。

我会更担心创建的常驻池的大小(根据屏幕截图为 6580 KiB)。一般来说,将可用内存用于缓冲池。如果,正如我所怀疑的那样,您的数据库总共不到 100 MiB,那么无论如何整个事情都会在内存中。在机器上有 512 MiB 的情况下,我的目标是让 Informix 使用大约 128 MiB 的所有共享内存,剩下的留给操作系统和(其他)程序使用。凭借缓存,这 128 MiB 将在共享内存中拥有 100 MiB 数据库的大部分,因此在读取数据后您不会看到太多磁盘流量——当然,除非您重写大量数据。

有关DS_NONPDQ_QUERY_MEM的更多信息,请参阅Informix 11.70 信息中心

于 2012-07-19T00:24:43.697 回答