Cómo optimizar el uso de memoria en Exchange Server 2003

Cómo optimizar el uso de memoria en Exchange Server 2003

Si tiene 1 gigabyte (GB) o más de memoria física (RAM) instalada en un servidor que ejecuta Microsoft Exchange Server 2003, debe asegurarse de que Exchange 2003 pueda hacer un uso eficiente de esa memoria.

Nota
Exchange 2003 realiza una comprobación de la configuración de memoria óptima cuando se inicia el proceso de almacén. Si la configuración de memoria no es óptima, verá el evento 9665 en el Visor de sucesos. Este mensaje aparece cuando se cumple una o varias de las condiciones siguientes:

  • El servidor está ejecutando cualquier edición de Microsoft Windows 2000 Server y el valor SystemPages del Registro está establecido fuera del intervalo de 24000 a 31000.

    Notas

    • La subclave SystemPages se encuentra en la ubicación siguiente: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages
    • Las únicas entradas válidas para la subclave SystemPages son:
      • Valores calculados por el sistema mayores que 180.000
      • Cero (0)
      • 0xFFFFFFFF

      Otros valores pueden funcionar, pero están obsoletos. Si el modificador /3GB está presente, el valor de la subclave SystemPages se debe establecer en 0xFFFFFFFF.

  • El servidor está ejecutando Microsoft Windows 2000 Advanced Server o Microsoft Windows 2000 Datacenter Server, tiene 1 GB o más de memoria física, pero no tiene establecido el modificador /3GBen el archivo boot.ini.
  • El servidor está ejecutando Microsoft Windows Server 2003 Standard, Microsoft Windows Server 2003 Enterprise o Microsoft Windows Server 2003 Datacenter, y el valor SystemPages del Registro está establecido en algo distinto de 0.
  • El servidor está ejecutando Microsoft Windows Server 2003 Standard Edition, Microsoft Windows Server 2003 Enterprise Edition o Microsoft Windows Server 2003 Datacenter Edition, tiene 1 GB o más de memoria física y se ha establecido el modificador /3GB, pero la configuración /USERVAno está presente en el archivo boot.ini.
  • El servidor está ejecutando cualquier edición de Microsoft Windows 2000 Server o Microsoft Windows Server 2003, y el valor HeapDeCommitFreeBlockThreshold del Registro está establecido en algo distinto de 0x00040000.

La comprobación de la configuración de memoria no se realiza en los servidores que ejecutan Microsoft Small Business Server. Cuando se produce el evento 9665, se escribe un valor DWORD en el registro de sucesos como datos adicionales.

Si desea desactivar la comprobación de la configuración de memoria, puede crear la siguiente clave del Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem

Parámetro: Suppress Memory Configuration Notification
Tipo: REG_DWORD
Configuración: 1

Notas

  • Para los equipos con Exchange Server que no contienen buzones ni carpetas públicas, como las puertas de enlace de correo, no se recomienda establecer el modificador /3GB en el archivo boot.ini, independientemente del tamaño de la memoria física instalada.
  • Para los equipos con Exchange Server que sean a la vez controladores de dominio de Active Directory o servidores de catálogo global, tampoco se recomienda establecer el modificador /3GB en el archivo boot.ini. Se recomienda tener controladores de dominio de Active Directory o servidores de catálogo global dedicados.
  • Puesto que Microsoft Small Business Server se instala como un controlador de dominio integrado y servidor de Exchange, tampoco se recomienda establecer el modificador /3GB cuando ejecute Exchange Server 2003 en un entorno de Small Business Server. No obstante, los demás conceptos y configuraciones que se describen en este artículo son igualmente aplicables a Exchange Server 2003 en un entorno de Microsoft Small Business Server.

Las próximas secciones de este artículo contienen recomendaciones para cada una de estas configuraciones.

Conceptos del espacio de direcciones virtual

Independientemente de la configuración de hardware, el número de bases de datos y el número de usuarios del servidor, el proceso Almacén de información de Exchange (Store.exe) de Exchange 2003 tiene una cantidad finita de memoria que puede direccionar. Esta cantidad de memoria se denomina espacio de direcciones virtual. En la mayoría de los casos, el uso de este espacio de direcciones virtual para el almacén de información dicta el rendimiento general y la escalabilidad de los servidores de buzones de Exchange Server 2003. En el caso de servidores pequeños o medianos, Exchange Server 2003 realiza automáticamente la mejor elección. Sin embargo, si se trata de servidores grandes quizás desee ajustar manualmente algunos parámetros.

Si el equipo con Exchange Server 2003 tiene 1 gigabyte (GB) o más de memoria instalada y contiene buzones o carpetas públicas, asegúrese de agregar el modificador /3GB al archivo Boot.ini del servidor. Si el servidor no aloja buzones ni carpetas públicas, como una puerta de enlace de correo, no se recomienda utilizar el modificador /3GB. De manera predeterminada, los sistemas operativos Microsoft Windows 2000 Advanced Server y Windows Server 2003 reservan un espacio de direcciones virtual de 2 GB para el modo de núcleo y 2 GB para el modo de usuario. El espacio de direcciones virtual para un proceso concreto se asigna durante el inicio y aumenta a medida que se usa más memoria durante el funcionamiento normal. Normalmente, el uso de memoria real (el conjunto de trabajo) de un proceso es mucho menor que el espacio de direcciones asignado a dicho proceso. En un equipo que ejecuta Exchange Server 2003 con 1 GB o más de memoria, debe modificar los sistemas operativos Windows 2000 Advanced Server y Windows Server 2003 de manera que haya disponible 3 GB de memoria para el modo de usuario. Puede hacerlo con el modificador /3GBdel archivo Boot.ini. Para utilizar esta configuración en un equipo con Windows 2000 Advanced Server, debe configurar también la entrada SystemPages del Registro en la subclave siguiente:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages

Establezca la entrada SystemPages del Registro en un valor DWORD de 0xFFFFFFFF (hexadecimal). Este cambio del Registro no es necesario ni se recomienda hacerlo en servidores basados en Windows 2003, ya que esta funcionalidad se logra con el modificador Userva que se describe en una sección posterior.

No establezca el modificador /3GB si está ejecutando Windows 2000 Server Standard Edition. Este modificador de ajuste de memoria no es compatible en Windows 2000 Server Standard Edition. Aunque el servidor no generará ningún mensaje de error si lo utiliza, si establece este modificador existirá un espacio de direcciones de memoria falso. En aquellos casos en los que un proceso intente tener acceso a este espacio de direcciones superior, aparecerá un mensaje de error Stop en una pantalla azul y el servidor dejará de responder.

Nota
El modificador de ajuste /3GBpuede utilizarse en todas las versiones de Windows Server 2003, incluyendo Windows Server 2003 Standard Edition. Para obtener más información acerca de cómo establecer el modificador /3GB, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

266096  (http://support.microsoft.com/kb/266096/ ) Exchange 2000 requiere el modificador /3GB con más de 1 gigabyte de RAM física

Si está ejecutando Exchange 2003 en un equipo basado en Windows Server 2003 y se ha establecido el modificador /3GB, se recomienda establecer el parámetro /USERVA=3030en el archivo Boot.ini. Esto permite más entradas de la tabla de páginas del sistema (PTE) en el servidor. Para obtener más información acerca del modificador /USERVA, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

810371  (http://support.microsoft.com/kb/810371/ ) Uso del modificador /Userva en los equipos basados en Windows 2003 Server que ejecutan Exchange Server

Asegúrese de que el proceso Store.exe no se quede sin espacio de direcciones virtual. Cuando se consume el espacio de direcciones virtual, no se pueden realizar asignaciones de memoria aunque haya mucha RAM física disponible. Para resolver este problema, debe reiniciar el servicio Almacén de información. Por ejemplo, un servidor con 2 GB de RAM física sin el modificador /3GB establecido en el archivo Boot.ini se quedará sin memoria cuando el espacio de direcciones virtual del proceso Store.exe alcance 2 GB. En este caso, el Administrador de tareas de Windows puede mostrar que sólo se está utilizando realmente 1,5 GB de memoria. Sin embargo, el servidor no tiene memoria y hay que reiniciar el servicio Almacén de información.

Cuando queda poca memoria virtual en el proceso Store.exe, el rendimiento del servidor con Exchange Server 2003 puede reducirse drásticamente. Cuando el mayor bloque libre de memoria virtual se reduce a 32 MB, se genera un suceso de advertencia con el Id. de suceso 9582 en el registro de aplicación del Visor de sucesos. Cuando vea este suceso, es mejor que reinicie el proceso Store.exe lo antes posible. Si el mayor bloque libre de memoria se reduce aún más, hasta el nivel da 16 MB, se genera un suceso de error con el Id. de suceso 9582 en el registro de aplicación del Visor de sucesos. Si se produce este suceso, el servidor está a punto de entrar en una condición de funcionamiento crítica y debe reiniciarse lo antes posible. Después de producirse este error, se puede agotar la memoria en varias horas. Si no responde a estos sucesos, puede experimentar uno o varios de los síntomas siguientes:

  • Errores intermitentes en la entrega de mensajes.
  • Error intermitente del proceso de conversión de correo Internet (IMAIL), que se indica mediante el Id. de suceso 12800.
  • Algunos programas antivirus preparados para Exchange pueden generar mensajes de error o sucesos.

Maximizar el espacio de direcciones virtual

Es mejor supervisar el espacio de direcciones virtual para el servicio Almacén de información en los servidores de buzones grandes con el fin de asegurarse de que el rendimiento y la estabilidad no disminuyen. La forma más sencilla de hacerlo consiste en supervisar el contador Tamaño del mayor bloque de memoria virtual del objeto de rendimiento MSExchangeIS en la utilidad Rendimiento. Este valor se muestra en bytes. Después de iniciar el equipo, es frecuente ver una fuerte reducción en el tamaño del mayor bloque de memoria virtual. Sin embargo, tras un día o dos de funcionamiento, el valor se acerca al nivel de funcionamiento habitual. Un valor para el mayor bloque de memoria virtual libre que sea superior a 200.000.000 bytes (unos 200 MB) indica un servidor en buen estado. Si observa un valor inferior, supervise el servidor más estrechamente. Si tiene poco espacio de direcciones virtual:

  1. Si tiene 1 GB o más de memoria física instalada, asegúrese de que el modificador /3GBestá establecido en el archivo Boot.ini si son ciertas las condiciones siguientes en el servidor:
    • El servidor aloja buzones o carpetas públicas.
    • El sistema operativo es Windows 2000 Advanced Server o Windows Server 2003.

    Si el servidor no aloja buzones ni carpetas públicas, como una puerta de enlace de correo, no se recomienda utilizar el modificador /3GB.

  2. Si Exchange Server 2003 está instalado en un servidor con Windows Server 2003, y tiene establecido el modificador /3GB, asegúrese de que el modificador /USERVA=3030esté establecido en el archivo Boot.ini. Si Exchange Server 2003 está instalado en un servidor con Windows 2000, asegúrese de que el servidor esté ejecutando el Service Pack 3 (SP3) o posterior de Windows 2000.
  3. Si tiene 1 GB o más memoria física instalada, configure el valor HeapDeCommitFreeBlockThresholddel Registro en la clave siguiente y reinicie el servidor:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
    Nombre de valor: HeapDeCommitFreeBlockThreshold
    Tipo de valor: REG_DWORD
    Información del valor: 0x00040000 (recomendado)
    Valor predeterminado: no presente

    Para obtener más información acerca de cómo utilizar y configurar este valor del Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

    315407  (http://support.microsoft.com/kb/315407/ ) La clave del Registro “HeapDecommitFreeBlockThreshold”

Normalmente, los pasos anteriores resuelven el problema de consumo del espacio de direcciones virtual. Sin embargo, en algunos servidores mayores quizás tenga que realizar un ajuste adicional de Tamaño de caché de base de datos de almacenamiento para volver a lograr un equilibrio entre el rendimiento y la escalabilidad.

 

Tamaño de caché de base de datos de almacenamiento

La caché de base de datos de almacenamiento también se denomina búfer ESE y ofrece un gran área de almacenamiento en caché para transacciones de bases de datos antes de confirmarse en el almacén. De manera predeterminada, Exchange Server 2003 consulta la configuración de memoria del equipo local y asigna 896 MB de RAM si el modificador /3GB está establecido en el archivo Boot.ini o 576 MB de RAM si no se ha establecido el modificador /3GB. Cuando hay un servidor con demasiada carga o cuando el rendimiento de disco no es óptimo, un gran búfer ESE mejora el rendimiento global del sistema. Dependiendo de su configuración, quizás tenga que aumentar o reducir el tamaño de este búfer para lograr el máximo rendimiento general.

En una situación en la que Exchange Server 2003 se utiliza en un entorno donde coexiste con otros programas de servidor, puede monopolizar los recursos de memoria disponibles. El algoritmo Asignación dinámica del búfer (DBA) es responsable de devolver la memoria al sistema operativo si hay otros programas que la necesitan. Sin embargo, puede limitar manualmente la memoria utilizada por Exchange Server 2003 reduciendo el búfer ESE.

En los servidores que tienen más de 2 GB de memoria, puede ser útil aumentar el tamaño del búfer ESE. Debido a las limitaciones del espacio de direcciones virtual, este valor no debe ser superior a 1.200 MB.

Antes de aumentar el tamaño máximo del búfer, es mejor utilizar la herramienta Rendimiento de Windows para supervisar la memoria del servidor con una carga normal. Para ello, supervise el objeto de rendimiento y el valor siguientes:

Objeto de rendimiento: Proceso
Contador de rendimiento: Bytes virtuales
Instancia: STORE

La información recopilada por la supervisión del rendimiento le ofrece un valor exacto del espacio de direcciones virtual que el proceso Store.exe ha asignado. En un servidor donde se haya establecido el modificador /3GB en el archivo Boot.ini, el valor que se ve en la utilidad Rendimiento suele ser inferior a 2,8 GB. En un servidor donde no se haya establecido el modificador /3GB en el archivo Boot.ini, el valor suele ser inferior a 1,8 GB. Es mejor agregar el modificador /3GB al archivo Boot.ini en los servidores que tienen 1 GB o más de memoria instalada. Si ve valores superiores a los indicados anteriormente, para cualquier configuración, no aumente el tamaño máximo del búfer. Si ve valores inferiores a los indicados anteriormente, para cualquier configuración, quizás desee aumentar el tamaño máximo del búfer de base de datos.

Por ejemplo, si tiene un servidor que está configurado para utilizar el modificador /3GB en el archivo Boot.ini y la supervisión del rendimiento muestra el número de bytes virtuales en 2,5 GB cuando el servidor tiene mucha carga, puede aumentar el tamaño máximo de búfer en unos 300 MB para lograr un tamaño total de 1.200 MB.

Aumentar el tamaño del búfer puede afectar negativamente al rendimiento del servidor. Un búfer mayor significa que se consume más espacio de direcciones virtual. Por tanto, si el servidor tiene restricciones del espacio de direcciones de memoria virtual, aumentar el tamaño del búfer puede crear inestabilidad en el sistema operativo. En un servidor de buzones muy grande, quizás tenga que reducir el tamaño del búfer predeterminado para impedir la inestabilidad del sistema.

Cómo modificar el tamaño del búfer ESE

El parámetro msExchESEParamCacheSizeMaxcontrola el tamaño del búfer ESE. Su valor se expresa como un número de páginas y debe establecerse en un múltiplo exacto de 8192 para lograr la máxima eficiencia:

  • El tamaño predeterminado en los servidores con el modificador /3GB establecido: 229376(896 MB)
  • El tamaño predeterminado en los servidores sin el modificador /3GB establecido: 147456(576 MB)
  • El valor máximo recomendado con el modificador /3GB establecido: 311296 (1,2 GB)

    Nota
    Debe supervisar primero los bytes virtuales para el proceso de almacén como se ha indicado anteriormente en este artículo antes de aumentar este valor con respecto al valor predeterminado.

  • El valor máximo recomendado sin el modificador /3GB establecido: 196608 (768 MB)

    Nota
    Debe supervisar primero los bytes virtuales para el proceso de almacén como se ha indicado anteriormente en este artículo antes de aumentar este valor con respecto al valor predeterminado.

Nota
La reproducción de registros de transacciones es mucho más rápida cuando el tamaño del búfer ESE es grande. Quizás desee aumentar temporalmente el tamaño del búfer ESE a un valor 311296 en una situación de recuperación tras un desastre.

Si realizó una actualización en contexto de un equipo con Exchange 5.5 Server a Exchange 2000 Server, puede observar que se ha asignado un valor inusualmente alto al parámetro msExchESEParamCacheSizeMax. En algunos servidores, este valor es 2.048 MB. En este caso, quite o restablezca el parámetro a un valor más apropiado. Para modificar el tamaño de caché de la base de datos del almacén:

  1. Inicie la utilidad Edición de ADSI (Interfaces de servicio de Active Directory). Edición de ADSI se incluye con las Herramientas de soporte técnico de Windows en la carpeta Support\Tools del CD-ROM de Windows 2000 o de Windows Server 2003.
  2. Bajo Contenedor de configuración [nombreDeServidor.ejemplo.com], donde nombreDeServidor.ejemplo.com es el nombre de dominio completo (FQDN) del servidor, expanda CN=Configuración, DC=ejemplo, DC=com.
  3. Expanda sucesivamente CN=Servicios, CN=Microsoft Exchange, CN=nombreDeOrganización donde nombreDeOrganización es el nombre de su organización, CN=Grupos administrativos, CN=Primer grupo administrativo donde Primer grupo administrativo es el nombre de su grupo administrativo, CN=Servidores y CN=nombreDeServidor.
  4. En CN=nombreDeServidor, haga clic con el botón secundario del mouse (ratón) en CN=InformationStore y, después, haga clic en Propiedades.
  5. En la lista Seleccionar propiedades para ver, haga clic en Ambas.
  6. En la lista Seleccionar una propiedad para ver, haga clic en msExchESEParamCacheSizeMax.

    Nota
    La propiedad msExchESEParamCacheSizeMax se extiende más allá del ancho de la lista Seleccionar una propiedad para ver. Asegúrese de que no hace clic accidentalmente en la propiedad msExchESEParamCacheSizeMin.

  7. En el cuadro Editar atributo, escriba el valor que desee asignar a este atributo.

    Nota
    Asegúrese de especificar un valor que sea múltiplo de 8.192.

  8. Haga clic en Establecer y en Aceptar.
  9. Salga de la utilidad Edición de ADSI. Después, deje tiempo suficiente para que este valor se replique en todo el bosque de Active Directory.
  10. Reinicie el servicio Almacén de información de Microsoft Exchange en el servidor de Exchange.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s