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

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

 

限制高速缓存内存使用

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

  • 初始高速缓存大小   您可以通过指定数据库服务器 -c 选项更改初始高速缓存的大小。缺省值如下:

    • Windows Mobile   相应的公式如下:
      max( 600 KB, min( dbsize, physical-memory ) );

      dbsize 是所启动的数据库文件大小总和,physical-memory 是计算机上物理内存的 25%。

    • Windows   相应的公式如下:
      max( 2 MB, min( dbsize, physical-memory ) );

      dbsize 是所启动的数据库文件大小总和,physical-memory 是计算机上物理内存的 25%。

      如果在 Windows 上使用了 AWE 高速缓存,则公式如下:

      min( 100% of available memory-128MB, dbsize );

      如果该值小于 2 MB,则不使用 AWE 高速缓存。

      有关 AWE 高速缓存的信息,请参见-cw 服务器选项

    • Unix   至少 8 MB。

      有关 Unix 初始高速缓存大小的信息,请参见在 Unix 上动态调整高速缓存大小

  • 最大高速缓存大小   您可以通过指定数据库服务器 -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。

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

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

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

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

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

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

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

另请参见