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 服务器 - 数据库管理 » 启动并连接到数据库 » 数据库服务器 » 数据库服务器选项

 

-c 服务器选项

设置为高速缓存数据库页面和其它服务器信息而保留的初始内存。

语法
{ dbsrv11 | dbeng11 } -c { size[ k | m | g | p ] } ...
适用于

所有操作系统和数据库服务器。

注释

可用作数据库服务器高速缓存的内存量是控制性能的关键因素之一。可以使用 -c 服务器选项设置高速缓存的初始值。提供给服务器的高速缓存越大,性能就越高。

size 是以字节为单位的内存量。分别使用 kmg 将单位指定为千字节、兆字节或千兆字节。

单位 p 是物理系统内存的百分比或非 AWE 高速缓存最大值的百分比,取其低者。非 AWE 高速缓存最大值取决于操作系统。例如:

  • Windows 32 位 Advanced Server、Enterprise Server、Datacenter Server 和 Vista 为 2.8 GB

  • 运行于 Windows x64 Edition 上的 32 位数据库服务器为 3.8 GB

  • 其它所有 32 位系统上均为 1.8 GB

  • 在 Windows Mobile 上,p 选项指定可用物理内存的百分比

如果使用 p,则此参数为一个百分比。您可以使用 % 来代替 p,但由于大多数非 Unix 操作系统使用 % 作为环境变量转义字符,因此必须将 % 字符转义。要将初始高速缓存大小设置为物理系统内存的 50%,可使用以下方法:

dbeng11 -c 50%% ...

在 Unix 操作系统上,高速缓存的大小将设置为下列各项中的较低者:

  • -c 后指定的值

  • (available memory - 5 MB) 的 95%

在 Windows Mobile 上,高度缓存大小将设置为下列各项中的较小者:

  • -c 后指定的值

  • (available memory -2 MB) 的 95%

如果没有提供 -c 选项,数据库服务器将按下列方式计算初始高速缓存分配:

  1. 它使用以下操作系统特定的缺省高速缓存大小:

    • Windows Mobile   600 KB

    • Windows   2 MB

    • Unix   8 MB

  2. 它计算运行时特定的最小缺省高速缓存大小,该数值为下列各项中较小者:

    • 计算机物理内存的 25%

    • 命令行中指定的主数据库文件大小的总和。计算时不包括主数据库文件以外的其它 dbspace。如果没有指定文件,则该值为零。

  3. 分配两个计算值中的较大者。

如果数据库已加密,您最好增加高速缓存的大小。此外,如果您要使用动态调整高速缓存大小的功能(-ca 选项),所用高速缓存大小可能会受可用内存量的限制。

请参见增加高速缓存大小

数据库服务器消息窗口显示启动时的高速缓存大小,可以使用以下语句来获得当前高速缓存的大小:

SELECT PROPERTY( 'CacheSize' );
另请参见
示例

在以下示例中(所有内容均在一行中输入)启动一个名为 myserver 的服务器,该服务器以 3 MB 大小的高速缓存启动,并装载示例数据库:

dbeng11 -c 3m -n myserver "samples-dir\demo.db"

有关 samples-dir 的信息,请参见示例目录