Error SAP SYSTEM_NO_MEMORY: Causas y Solución

Destacados del análisis del error SYSTEM_NO_MEMORY:

  • Qué es – Un short dump crítico que indica que el sistema SAP ha agotado toda la memoria disponible (Extended Memory + Heap Memory)
  • Impacto – Puede derribar todos los work processes de una instancia y dejar el sistema inaccesible temporalmente
  • No es lo mismo que TSV_TNEW_PAGE_ALLOC_FAILED – Aunque están relacionados, SYSTEM_NO_MEMORY es un error más severo a nivel de toda la instancia
  • Prevención – Monitorización proactiva con ST02 y alertas de uso de memoria Extended y Heap

El error SYSTEM_NO_MEMORY es sin duda uno de los más graves a los que puede enfrentarse un administrador SAP. Cuando aparece, significa que la instancia ha consumido todos los recursos de memoria disponibles y no puede atender nuevas peticiones. Si no se actúa rápido, el sistema puede quedar completamente bloqueado.

¿Qué es SYSTEM_NO_MEMORY?

ABAP utiliza dos tipos de memoria: Extended Memory (EM) y Heap Memory. La EM es la memoria compartida entre todos los work processes de una instancia, mientras que la Heap es la memoria privada de cada work process. Cuando cualquiera de estas dos áreas se agota, SAP genera el short dump SYSTEM_NO_MEMORY. Este error puede ocurrir aunque el servidor físico tenga RAM disponible, porque los límites están definidos a nivel de los parámetros de perfil de SAP.

Síntomas típicos

  • Múltiples short dumps SYSTEM_NO_MEMORY en ST22 al mismo tiempo, en diferentes work processes
  • Los work processes en SM50 aparecen en estado «Running» pero no avanzan
  • No se pueden abrir nuevas transacciones SAPGUI
  • En ST02, el uso de «Current Use» de EM está al 100% o muy cercano
  • El sistema puede recuperarse solo cuando los work processes existentes terminan y liberan memoria

Causas principales

  • EM/Heap mal configurados – Los parámetros abap/heap_area_total, abap/heap_area_nondia y em/initial_size_MB no están dimensionados correctamente
  • Reportes «fuga de memoria» – Programas ABAP que asignan memoria interna (tablas internas gigantes) sin liberarla adecuadamente
  • Batch masivo concurrente – Múltiples jobs background ejecutándose al mismo tiempo que cargan grandes volúmenes de datos en memoria
  • DIALOG overflow – Picos de usuarios concurrentes que exceden la memoria disponible para procesos de diálogo
  • Partner PFCG con roles masivos – Carga de roles con miles de autorizaciones que saturan la memoria

Solución paso a paso

  1. Revisa ST02 inmediatamente – Mira la pestaña «Memory». Si «Current Use» de EM está al 100%, confirma el diagnóstico.
  2. Identifica los programas responsables – En ST22, revisa los dumps SYSTEM_NO_MEMORY. El campo «Program» y «Exception» te indican qué programa consumió la memoria. Apunta los nombres.
  3. Ejecuta un ABAP Memory Trace – Con SAT o SE30 sobre los programas identificados, busca tablas internas con millones de filas o asignaciones dinámicas sin FREE.
  4. Bloquea temporalmente los programas problemáticos – Si el sistema está crítico, usa SM01 para desactivar temporalmente los programas que están generando los dumps, o SM37 para cancelar jobs background específicos.
  5. Aumenta la memoria extendida – En RZ10 ajusta em/initial_size_MB. La fórmula orientativa: (RAM física × 60%) ÷ número de instancias SAP. En sistemas HANA, consulta la guía de sizing.
  6. Ajusta el heap – Revisa abap/heap_area_total (límite total de heap para todos los work processes). Incrementa si es necesario, pero ten en cuenta la RAM física disponible.
  7. Distribuye la carga – Reprograma jobs background para que no coincidan en horas punta. Usa SM61 para gestionar grupos de batch.

Notas SAP relacionadas

  • SAP Note #1041168 – SYSTEM_NO_MEMORY runtime error
  • SAP Note #434091 – Solving SYSTEM_NO_MEMORY errors
  • SAP Note #1688820 – Parameter recommendation for EM/Heap on HANA
  • SAP Note #2000003 – FAQ: SAP Memory Management

¿Te ayudamos?

Contamos con una base de consultores certificados por SAP que brindan un excelente servicio de Administración SAP así como el análisis de vulnerabilidades SAP y remediación de las mismas.

Puedes contactarnos a través del formulario de contacto o a través de nuestra dirección de correo electrónico contacto@aurit.es

En AURIT estaremos encantados de poder ayudarte.

Si te gusta nuestro contenido…

¿Te suscribes a nuestra newsletter?