Habilitar memoria AWE para SQL Server
Las extensiones de ventana de dirección (AWE) permiten a los sistemas operativos de 32 bits tener acceso a grandes cantidades de memoria. El sistema operativo expone la AWE y se implementa con pocas diferencias en Microsoft y en . AWE se habilita mediante awe enabled (opción).
Usar memoria asignada para AWE con Windows 2000 Server
Las instancias de Microsoft SQL Server 2005 que se ejecutan en asignan la memoria durante el inicio de SQL Server de acuerdo con la siguiente secuencia de eventos:
- Si la memoria física disponible es menor que el espacio de direcciones virtuales del modo de usuario, AWE no puede activarse. En este caso, SQL Server no se ejecuta en el modo AWE, independientemente de la configuración de la opción Con AWE habilitada.
- Si la memoria física disponible es mayor que el espacio de direcciones virtuales del modo de usuario, AWE puede activarse.
- Si la memoria física disponible es mayor que el valor de la opción de max server memory, la instancia de SQL Server bloquea la cantidad de memoria especificada en max server memory.
- Si la memoria física disponible es menor que el valor de la opción max server memory o si la opción max server memory no ha sido establecida, la instancia de SQL Server bloquea toda la memoria disponible excepto 256 megabytes (MB).
- Una vez asignada, la memoria asignada para AWE no puede liberarse hasta que se cierre SQL Server.
Configurar las opciones de memoria
Es muy recomendable establecer un valor para max server memory cada vez que habilite AWE. Cuando la opción Con AWE habilitada está establecida en 1 (y la memoria física es mayor que el espacio de procesos del modo de usuario), las instancias de SQL Server 2005 que se ejecutan en bloquean casi toda la memoria disponible (o el valor de Cantidad máxima de memoria del servidor si la opción se ha establecido) cuando se inicia el servidor. Si la opción max server memory no está establecida, otras aplicaciones o instancias de SQL Server tienen disponible menos de 128 MB de memoria física.
El bloque de memoria asignada por AWE no puede intercambiarse en los archivos del sistema de paginación. Windows tiene que intercambiar otras aplicaciones si es necesario usar más memoria física, lo que puede afectar al rendimiento de estas otras aplicaciones.
Para evitar que merme el rendimiento de otras aplicaciones, configure max server memory para dejar cierta cantidad de memoria libre para las distintas necesidades de otras aplicaciones y del sistema operativo. Puede determinar la cantidad de memoria que puede asignar sin problemas a las instancias de SQL Server identificando la cantidad de memoria disponible después de iniciar todas las demás aplicaciones que se van a utilizar en el equipo.
[!NOTA] Para , Cantidad mínima de memoria del servidor se omite para SQL Server AWE.
Utilice el contador Memoria total del servidor (KB) del Monitor de rendimiento de SQL Server para determinar cuánta memoria ha asignado la instancia de SQL Server que se ejecuta en modo AWE, o seleccione el uso de memoria de sysperfinfo.
Para obtener más información, vea Supervisar el uso de la memoria.
Ejecutar varias instancias de SQL Server con AWE
Si el servidor ejecuta , cada instancia debe tener una configuración de Cantidad máxima de memoria del servidor. Puesto que SQL Server 2005 no admite la asignación dinámica de la memoria asignada para AWE cuando se ejecuta en sistemas operativos , es recomendable que la opción Cantidad máxima de memoria del servidor se establezca para cada instancia.
La suma de los valores max server memory de todas las instancias debe ser inferior a la memoria física total del equipo. Si la suma es mayor que la memoria física total, algunas instancias no se inician o tienen acceso a menos memoria que la especificada por la configuración de max server memory. Por ejemplo, suponga que un equipo tiene 16 gigabytes (GB) de memoria física y tres instancias instaladas de SQL Server 2005. Además, el valor de max server memory está establecido en 8 GB para cada instancia. Si detiene y reinicia las tres instancias, la asignación de memoria es la siguiente:
- La primera instancia tiene acceso a 8 GB de memoria física.
- La segunda instancia se inicia, pero tiene acceso a algo menos de 8 GB de memoria física (hasta 128 MB menos).
- La tercera instancia se inicia en el modo de memoria dinámica y tiene acceso a 256 MB o menos memoria física.
Para obtener más información, vea Administrar la memoria para bases de datos de gran tamaño.
Usar memoria asignada para AWE con Windows Server 2003
SQL Server 2005 admite la asignación dinámica de la memoria de AWE en . Durante el inicio, SQL Server sólo reserva una pequeña parte de la memoria asignada para AWE. Si se necesita más memoria asignada para AWE, el sistema operativo la asigna de forma dinámica a SQL Server. De forma similar, si se necesitan menos recursos, SQL Server puede devolver memoria asignada para AWE al sistema operativo para que éste la utilice en otros procesos o aplicaciones. Para obtener más información sobre la opción de configuración Con AWE habilitada, vea awe enabled (opción).
La cantidad de memoria física admitida ha aumentado con la incorporación de la familia . La memoria física a la que tiene acceso AWE depende del sistema operativo que esté utilizando. La siguiente lista proporciona la máxima memoria física a la que tiene acceso cada sistema operativo en el momento en el que se escribió este documento.
- , Standard Edition admite una memoria física de hasta 4 GB.
- , Enterprise Edition admite una memoria física de hasta 32 GB.
- , Datacenter Edition admite una memoria física de hasta 64 GB.
Configurar las opciones de memoria
SQL Server 2005 asigna de forma dinámica memoria AWE asignada cuando se ejecuta con cualquiera de las ediciones del sistema operativo . Es decir, el grupo de búferes puede administrar dinámicamente la memoria asignada para AWE (dentro de los límites establecidos en las opciones min server memory y max server memory) para equilibrar el uso de la memoria de SQL Server con los requisitos generales del sistema.
Cuando se habilita AWE, SQL Server 2005 siempre intenta utilizar la memoria asignada para AWE. Esto se aplica a todas las configuraciones de memoria, incluidos los equipos configurados para proporcionar a las aplicaciones menos de 3 GB de espacio de direcciones en el modo de usuario.
- Se recomienda configurar AWE como el modo de memoria predeterminado para SQL Server 2005 en ejecución en . La característica Agregar memoria sin interrupción requiere que AWE se habilite durante el inicio de SQL Server. Para obtener información, vea Agregar memoria sin interrupción.
[!NOTA] AWE no es necesario y no se puede configurar en sistemas operativos de 64 bits.
- Puesto que la memoria asignada para AWE es compatible con cantidades inferiores a 3 GB, puede definir los valores de min server memory y max server memory dentro del intervalo de memoria física, o bien utilizar los valores predeterminados para ambas opciones.
- Puede contemplar configurar max server memory para SQL Server con el fin de garantizar memoria adicional para otras aplicaciones que funcionen en el equipo. Si bien SQL Server puede liberar dinámicamente memoria asignada para AWE, no es posible intercambiar en el archivo de paginación la cantidad actual de memoria asignada para AWE.
Para que la opción AWE esté disponible en una instancia de SQL Server 2005, utilice sp_configure para establecer la opción Con AWE habilitada en 1 y, a continuación, reinicie SQL Server.
Para obtener más información sobre min server memory y max server memory, vea Opciones de memoria del servidor.
Para habilitar AWE, debe configurar la directiva Lock Pages in Memory. Para obtener más información, vea Cómo habilitar la opción de bloqueo de páginas en memoria (Windows).
Ejemplo
En el ejemplo siguiente se muestra cómo activar AWE y configurar un límite de 1
GB para min server memory y 6
GB para max server memory.
En primer lugar, configure AWE:
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
Después de reiniciar SQL Server, se escribe un mensaje de error en el registro de errores de SQL Server en el que se indica que las extensiones de ventana de dirección (AWE) están habilitadas.
Seguidamente, configure la memoria:
sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
En este ejemplo, la configuración de la memoria indica al grupo de búferes que administre dinámicamente la memoria asignada para AWE entre 1 GB y 6 GB. Si otras aplicaciones necesitan memoria adicional, SQL Server puede liberar la memoria asignada para AWE si no es necesaria. En este ejemplo, sólo puede liberarse un máximo de 1 GB de la memoria asignada para AWE.
La memoria dinámica de AWE también permite a SQL Server aumentar la memoria si se agrega más memoria a un equipo compatible con la característica Agregar memoria sin interrupción. Disponible en , en sus ediciones Enterprise y Datacenter, la característica Agregar memoria sin interrupción permite agregar memoria mientras se ejecuta el equipo. Por ejemplo, suponga que SQL Server 2005 se ejecuta en , Enterprise Edition, y se inicia en un equipo con 16 GB de memoria física. El sistema operativo está configurado para limitar a 2 GB el espacio para direcciones en la memoria virtual de las aplicaciones; AWE se ha activado en SQL Server. Posteriormente, el administrador del sistema agrega 16 GB de memoria mientras el equipo está ejecutándose. SQL Server 2005 reconoce inmediatamente la memoria adicional y, si es necesario, puede aprovecharse de ella.
Para obtener más información acerca de cómo utilizar AWE, vea la documentación de .
Ejecutar varias instancias de SQL Server con AWE
Si está ejecutando varias instancias de SQL Server 2005 en el mismo equipo y cada instancia utiliza memoria asignada para AWE, debe asegurarse de que las instancias tengan el rendimiento esperado.
Si el servidor ejecuta , cada instancia debe tener una configuración de Cantidad mínima de memoria del servidor. Cuando SQL Server 2005 se ejecuta en , admite la administración dinámica de la memoria asignada para AWE, por lo que recomendamos configurar la opción Cantidad mínima de memoria del servidor para cada instancia. Debido a que la memoria asignada para AWE no puede intercambiarse en el archivo de paginación, la suma de los valores de min server memory de todas las instancias debe ser menor que la memoria física total del equipo.
La opción min server memory no fuerza a SQL Server a adquirir una cantidad de memoria mínima al inicio. La memoria se asigna a petición en función de la carga de trabajo de la base de datos. Sin embargo, una vea se alcanza el umbral de min server memory, SQL Server no libera memoria si ello deja a SQL Server con menos de esa cantidad. Por tanto, para garantizar que cada instancia haya asignado una cantidad de memoria al menos igual que el valor de min server memory, se recomienda ejecutar una carga de servidor de bases de datos justo después del inicio. Durante la actividad normal del servidor, varía la cantidad de memoria disponible por instancia, pero nunca es inferior al valor de min server memory disponible para cada instancia.
Puede establecer max server memory o dejar la opción configurada con el valor predeterminado. Si deja max server memory con el valor predeterminado, las instancias de SQL Server compiten por obtener más memoria.
Usar clúster de conmutación por error con AWE
Si utiliza memoria AWE y clústeres de conmutación por error de SQL Server 2005, asegúrese de que la suma de los valores max server memory de todas las instancias es menor que la memoria física más pequeña disponible en cualquiera de los servidores del clúster de conmutación por error. Si el nodo de conmutación por error tiene menos memoria física que el nodo original, las instancias de SQL Server 2005 podrían producir errores al iniciarse o podrían iniciarse con menos memoria de la que tenían en el nodo original.
Vea también
Tareas
Cómo configurar la opción awe enabled (SQL Server Management Studio)
Conceptos
Usar AWE
Administrar la memoria para bases de datos de gran tamaño
Arquitectura de la memoria