A menudo, los clientes de SAP se enfrentan con problemas de rendimiento y no hay requisitos para ajustar los sistemas SAP. En estas ocasiones, se vuelve muy importante establecer los parámetros de la memoria a los valores óptimos de SAP a fin de que cualquier servidor SAP tenga un buen rendimiento. Aún más importante es entender el concepto de gestión de memoria en el servidor de aplicaciones SAP antes de hacer cualquier cambio en los parámetros.
Así que vamos a echar un vistazo rápido a algunos de los conceptos de gestión de memoria en la pila de ABAP. Mediante el sistema de gestión de memoria SAP asigna memoria a cada proceso de trabajo. Existen los siguientes tipos de memorias en SAP:
1. Roll memory.
La memoria inicial asignada a un contexto de usuario es la roll memory. De nuevo es asignada en caso de que la extended memory esté llena. El rol area es un área de memoria que tiene un tamaño configurable para cada proceso de trabajo y se encuentra en el “heap” de espacio de direcciones virtuales del proceso de trabajo.
Cuando el contexto de un proceso de trabajo cambia, los datos se copian del área de la memoria al fichero. Para evitar la copia repetida, se coloca otro búfer en el medio, el cual forma parte de la memoria compartida.
El área de despliegue consiste en dos segmentos:
2. Extended memory.
Los procesos de trabajo en SAP tienen una parte reservada en su espacio de direcciones virtuales de la extended memory. El tamaño se puede ajustar utilizando el parámetro de perfil em / initial_size_MB: Tamaño del pool de extended memory.
En la extended memory se pueden mapear desde los recursos comunes hasta cualquier proceso de trabajo. También se puede utilizar el espacio de direcciones virtuales. La extended memory varía con el sistema operativo y por lo tanto puede ser implementada según las necesidades.
En el caso de Windows es automáticamente gestionada. El sistema SAP crea una capa dentro de las funciones del sistema operativo para la gestión de páginas de esta memoria. La extended memory se implementa como un archivo mapeado sin nombre. Esto significa que el espacio de direcciones utiliza el archivo de paginación o usa el swap del sistema operativo como background memory.
3. Private memory.
Si un proceso de trabajo de diálogo se ha agotado el área rol asignado al mismo y también la extended memory, private memory se le asigna al proceso de trabajo. El proceso de trabajo entra en el modo PRIV (privado).
Esta memoria está dedicada a un proceso por lo tanto un proceso de trabajo se puede ejecutar en modo PRIV también llamado el modo privado, cuando la memoria local se agota. Otros procesos no pueden utilizar la prívate memory.
Después de liberar la memoria asignada, el sistema operativo sigue considerando que la memoria virtual que está ocupada por el proceso de asignación.
Estas características de la pila de memoria requieren que:
En el caso de que muchos procesos de trabajo entren en el modo PRIV, podría causar graves problemas de rendimiento en el sistema.
El parámetro de perfil rdisp / wppriv_max_no define que en el modo PRIV, un número máximo de procesos de trabajo de diálogo se pueden ejecutar sin restricciones de tiempo.