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

 

-cw 服务器选项

在 Windows 中允许使用 Address Windowing Extensions (AWE) 来设置数据库服务器高速缓存的大小。

语法
{ dbsrv11 | dbeng11 } -cw ...
适用于

Windows

注释

可用作数据库服务器高速缓存的内存量是控制性能的关键因素之一。由于 Windows 支持 Address Windowing Extensions,因此您可以使用 -cw 选项来利用基于系统中最大物理内存量的大容量高速缓存。

在 64 位的 SQL Anywhere 数据库服务器上不支持 AWE 高速缓存。

操作系统 非 AWE 高速缓存最大值 Windows 支持的最大物理内存
Windows 2000 Professional 1.8 GB 4 GB
Windows 2000 Server 1.8 GB 4 GB
Windows 2000 Advanced Server 2.7 GB1 8 GB
Windows 2000 Datacenter Server 2.7 GB1 64 GB
Windows XP Home Edition 1.8 GB 2 GB
Windows XP Professional 1.8 GB 4 GB
Windows Server 2003, Web Edition 1.8 GB 2 GB
Windows Server 2003, Standard Edition 1.8 GB 4 GB
Windows Server 2003, Enterprise Edition 2.7 GB1 32 GB
Windows Server 2003, Datacenter Edition 2.7 GB1 64 GB
Windows Vista Ultimate 2.7 GB2 4 GB
Windows Vista Enterprise 2.7 GB2 4 GB
Windows Vista Business 2.7 GB2 4 GB
Windows Vista Home Premium 2.7 GB2 4 GB
Windows Vista Home Basic 2.7 GB2 4 GB
Windows Vista Starter 2.7 GB2 1 GB

1 在 Windows XP/200x 上,必须使用 /3GB 选项来启动操作系统,这样才能使用这一容量的高速缓存。

2 在 Windows Vista 上,必须先以管理员身份运行以下命令重新启动操作系统,这样才能使用这一容量的高速缓存:

bcdedit /set increaseuserva 3072

使用 AWE 高速缓存时,系统中大多数可用物理内存都可分配给高速缓存。

建议尽可能以非 AWE 高速缓存来设置所需大小的高速缓存,因为 AWE 高速缓存分配的内存只能供数据库服务器使用。这意味着在数据库服务器运行时,操作系统和其它应用程序不能使用为数据库服务器高速缓存分配的内存。AWE 高速缓存不支持动态高速缓存调整。因此,如果使用 AWE 高速缓存,并且指定 -ch 或 -cl 选项来设置高速缓存大小的上限和下限,这些设置将被忽略。

缺省情况下,保留 512 MB 的地址空间用于 SQL Anywhere AWE 高速缓存之外的其它用途(地址空间是指可由程序在任意指定时间访问的内存量)。尽管此缺省空间量在多数情况下已足够,但可以使用 -cm 选项更改保留的地址空间量。

在 Windows Vista 上,只有提升的数据库服务器才能使用 AWE 内存。如果在 Windows Vista 上自动启动数据库服务器,则必须在连接字符串中指定 ELEVATE=YES,以便提升自动启动的数据库服务器的可执行能力。请参见Elevate 连接参数

要使用 AWE 高速缓存启动数据库服务器,必须执行以下步骤:

  • 在 Windows Vista 上,必须以管理员身份运行数据库服务器。

  • 系统中至少有 130 MB 的可用内存。

  • 在 Windows XP/200x 上,如果系统内存介于 2 GB 和 16 GB 之间,则将 /3GB 选项添加到 boot.ini 文件 "[operating systems]" 区段中的 Windows 引导行。

    在 Windows Vista 上,如果系统内存介于 2 GB 和 16 GB 之间,则必须以管理员身份运行以下命令:

    bcdedit /set increaseuserva 3072

    在 Windows XP/200x 上,如果系统内存大于 16 GB,则不要将 /3GB 选项添加到 boot.ini 文件 [operating systems] 区段中的 Windows 引导行,因为 Windows 无法对超出 16 GB 的内存进行寻址。

  • 在 Windows XP/200x 上,如果系统内存大于 4 GB,可将 /PAE 选项添加到 boot.ini 文件 [operating systems] 区段中的 Windows 引导行。

    在 Windows Vista 上,如果系统内存大于 4 GB,则以管理员身份运行以下命令:

    bcdedit /set pae ForceEnable
  • 为运行服务器所用的用户 ID 授予 [内存中锁定页] 特权。以下步骤说明如何在 Windows XP 中执行此操作。

    1. 以管理员身份登录 Windows。

    2. 打开 [控制面板]。

    3. 双击 [管理工具]。

    4. 双击 [本地安全策略]。

    5. 打开左窗格中的 [本地策略]。

    6. 双击 [用户权利指派]。

    7. 双击右窗格中的 [内存中锁定页] 策略。

    8. 单击 [添加用户或组]。

    9. 键入用户的名称,然后单击 [确定]。

    10. 在 [内存中锁定页] 窗口上单击 [确定]。

    11. 关闭所有打开的窗口,然后重新启动计算机以使设置生效。

如果在命令行中指定 -cw 选项和 -c 选项,则数据库服务器将尝试按以下步骤分配初始高速缓存:

  1. AWE 高速缓存不大于 -c 选项指定的高速缓存大小。如果 -c 选项指定的值小于 2 MB,则不使用 AWE。

  2. AWE 高速缓存不大于所有可用物理内存减去 128 MB 的差。

  3. AWE 高速缓存不小于 2 MB。如果无法使用此最小物理内存量,则不使用 AWE 高速缓存。

当指定 -cw 选项且不指定 -c 选项时,数据库服务器将尝试按以下步骤分配初始高速缓存:

  1. 除保留 128 MB 内存用于操作系统外,AWE 高速缓存可 100% 使用剩余的全部可用内存。

  2. AWE 高速缓存不大于在命令行中指定的主数据库文件大小的总和。计算时不包括主数据库文件以外的其它 dbspace。如果没有指定文件,则该值为零。

  3. AWE 高速缓存不小于 2 MB。如果无法使用此最小物理内存量,则不使用 AWE 高速缓存。

当服务器使用 AWE 高速缓存时,高速缓存页面大小至少为 4KB,且禁用动态高速缓存调整。

请参见使用高速缓存提高性能

另请参见
示例

以下示例启动一个名为 myserver 的服务器,它以 12 GB 高速缓存启动,并装载数据库 c:\test\mydemo.db

dbeng11 -n myserver -c 12G -cw c:\test\mydemo.db