Resolución de problemas de memoria para servidores IBM Business Process Manager

Si está utilizando IBM® Business Process Manager con un sistema operativo o máquina virtual Java de 32 bits, puede experimentar problemas de rendimiento y disponibilidad del servidor, incluidas las excepciones de tipo OutOfMemory. Estas se producen cuando el sistema operativo o la JVM no tiene suficiente memoria accesible para dar soporte a todos los procesos en ejecución.

Si el rendimiento del servidor se degrada gravemente o si observa una excepción OutOfMemory, considere la posibilidad de cambiar a un sistema operativo o JVM de 64 bits. De lo contrario, utilice la información de la tabla siguiente para identificar posibles soluciones a problemas específicos de memoria.

Tabla 1. Problemas de memoria observables y acciones sugeridas
Comportamiento observado Acciones posibles
Rendimiento del servidor gravemente degradado (se produce intercambio)
  • Asegúrese de que hay suficiente memoria física para dar soporte a IBM BPM y a todos los demás procesos en ejecución. Utilice la herramienta de análisis de memoria del sistema correspondiente a su plataforma (por ejemplo, vmstat para las plataformas Linux o UNIX, o Task Manager para plataformas Windows).

    Tenga en cuenta que algunos sistemas operativos de 32 bits sólo pueden utilizar una determinada cantidad de memoria física.

  • Detenga todos los procesos en ejecución que no sean críticos para IBM BPM (por ejemplo, ventanas de navegador adicionales u otras aplicaciones instaladas).
  • Establezca una conexión DB2 remota y utilícela en lugar de la instancia local de DB2. Detenga todos los procesos locales de DB2 de la máquina local.
  • Si está creando procesos, utilice un entorno de prueba de unidad remota y Process Center en lugar de ejecutarlos en la máquina local.
Rendimiento del servidor gravemente degradado (sin intercambio) combinado con excesiva actividad de recogida de basura
  • Aumente el tamaño máximo de almacenamiento dinámico. El tamaño de almacenamiento dinámico debe ser lo suficientemente grande para contener todos los objetos Java necesarios, pero lo suficientemente pequeño para evitar cuellos de botella de grandes cantidades de memoria nativa.
  • Ajuste el almacenamiento dinámico de la JVM.

Si desea más información sobre cómo ajustar el tamaño de almacenamiento dinámico y los valores de la recogida de basura, consulte Ajuste de la máquina virtual IBM para Java y Configuración de la máquina virtual Java.

Problemas de memoria; por ejemplo, la instancia ocupa la mayor parte de la memoria disponible

Reduzca el tamaño de la memoria caché de contexto de rama. La reducción del tamaño de la memoria caché de 64 a 16 representa una gran diferencia en la cantidad de memoria que utiliza la instancia, aunque la mejora del uso de memoria tenga como aspecto negativo cierta disminución del rendimiento.

Para cambiar el tamaño de la memoria caché, localice el archivo 00static.xml en INICIO_PERFIL\config\cells\nombre_célula\nodes\nombre_nodo\servers\nombre_servidor\process-server\config\system. En este archivo, puede editar el valor de branch-context-max-cache-size.

Excepción de tipo OutOfMemory
  • Si la excepción va inmediatamente precedida de actividad frecuente de recogida de basura que no libera espacio en el almacenamiento dinámico Java, utilice la información de la fila anterior para aumentar el tamaño máximo del almacenamiento dinámico de Java, ajuste el almacenamiento dinámico de la JVM o ambos.
  • Si la excepción no va inmediatamente precedida de actividad de recogida de basura, puede indicar que la memoria nativa de un recurso se ha agotado. Disminuya el tamaño máximo de almacenamiento dinámico Java para dejar más espacio para la memoria nativa en el espacio de direcciones de la JVM.
  • Si la excepción se produce cuando intenta descargar desktop Process Designer (en desuso) desde la consola de Process Center, siga los pasos siguientes.
    1. Salga de la consola de Process Center.
    2. Utilice la consola administrativa de WebSphere para establecer una propiedad personalizada para el contenedor web:
      1. Pulse Servidores > Tipos de servidor > WebSphere Application Servers > nombreServidor > Contenedor Web > Propiedades personalizadas.
      2. Añada la propiedad com.ibm.ws.webcontainer.channelwritetype y establezca su valor en synch.
      3. Guarde los cambios y salga de la consola de administración.
    3. Reinicie la consola de Process Center y reanude la descarga de desktop Process Designer.
Una excepción OutOfMemoryError con una excepción correspondiente de hebra colgada Si encuentra esta excepción OutOfMemoryError particular, es posible que pueda resolver el problema completando los pasos siguientes:
  1. Aumente el número permitido de procesos añadiendo las líneas siguientes al final del archivo /etc/security/limits.conf (o cambiando los valores si las líneas ya existen en el archivo):
    # - nproc - max number of processes
    * soft nproc 65535
    * hard nproc 65535
    Si está realizando una instalación como usuario no administrativo, añada o modifique también las líneas siguientes para su nombre de usuario:
    nombre_usuario soft nproc 65535
    nombre_usuario hard nproc 65535

    Guarde y cierre el archivo y, a continuación, cierre la sesión y vuélvala a abrir. Puede comprobar el número permitido actual de procesos ejecutando el mandato ulimit -u.

  2. Compruebe la existencia de un archivo llamado /etc/security/limits.d/90-nproc.conf, que altera temporalmente el valor nproc definido en el archivo limits.conf. Si el archivo 90-nproc.conf existe, edítelo y defina los valores nproc que se han especificado en el paso anterior. Por ejemplo:
    /etc/security/limits.d/90-nproc.conf
    * soft nproc 65535
  3. Guarde y cierre los archivos y, a continuación, cierre la sesión y vuélvala a iniciar. Puede comprobar el número permitido actual de procesos ejecutando el mandato ulimit -u.