Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 监控和提高数据库性能 » 提高数据库性能 » 性能提高提示

 

限制高速缓存内存使用

高速缓存的初始、最小和最大大小都可以通过数据库服务器命令行进行控制。

  • 初始高速缓存大小   您可以使用 -c 数据库服务器选项指定用于数据库服务器的初始高速缓存大小。如果没有指定 -c 选项,数据库服务器将计算初始高速缓存分配。请参见-c dbeng12/dbsrv12 服务器选项

  • 最大高速缓存大小   您可以通过指定数据库服务器 -ch 选项控制最大高速缓存大小。其缺省值基于由计算机上的物理内存决定的启发式算法。在 Windows Mobile 上,缺省的最大高速缓存大小是可用的程序内存量减去 4 MB。在其它非 Unix 计算机上,缺省值大概是最大非 AWE 高速缓存大小和计算机物理内存的 90% 二者中的较低者。在 Unix 中,缺省的最大高速缓存大小的计算方法如下:

    • 在 32 位 Unix 平台上,它是总物理内存的 90% 或 1,834,880 KB 的较小者。

    • 在 64 位 Unix 平台上,它是总物理内存的 90% 和 8,589,672,320 KB 的较小者。

  • 最小高速缓存大小   您可以通过指定数据库服务器 -cl 服务器选项来控制最小高速缓存大小。缺省情况下,最小高速缓存大小与初始高速缓存大小相同(Windows Mobile 除外)。Windows Mobile 上的缺省最小高速缓存大小为 600 KB。

    如果指定了 -c 选项而未指定 -cl,则最小高速缓存大小将设置为由 -c 服务器选项指定的初始高速缓存大小。

    如果未设置 -c 或 -cl 服务器选项,最小高速缓存大小将设置为一个非常低的硬编码常量值,以便高速缓存可根据需要进行压缩。在 Windows 中,该值为 2 MB,在 Unix 中,该值为 8 MB,而在 Windows Mobile 中,该值为 600 KB。

您也可以使用 -ca 0 服务器选项来禁用动态调整高速缓存大小的功能。

下面的数据库服务器属性可返回有关数据库服务器高速缓存的信息:

  • CurrentCacheSize   返回当前高速缓存大小(以千字节为单位)。

  • MinCacheSize   返回所允许的最小高速缓存大小(以千字节为单位)。

  • MaxCacheSize   返回所允许的最大高速缓存大小(以千字节为单位)。

  • PeakCacheSize   返回高速缓存在当前会话中已达到的最大值(以千字节为单位)。

有关获取服务器属性值的信息,请参见数据库服务器属性

 另请参见