Les exceptions de mémoire saturée (OutOfMemoryExceptions) envoyée de la machine JVM peuvent arrêter le système InterChange Server Express. Pour réduire ces occurrences, vous pouvez utiliser une fonction de "contrôleur de mémoire", dans InterChange Server Express, pour mettre les connecteurs en pause lorsqu'un niveau prédéterminé d'utilisation de la mémoire est atteint, assurant ainsi qu'aucun nouvel événement n'est envoyé au connecteur tout en lui permettant de traiter les requêtes d'appel de service en instance provenant d'InterChange Server Express. Cette opération peut réduire l'utilisation de la mémoire. Les paramètres de la fonction de contrôle de la mémoire permettent également de contrôler le débit d'envoi des événements de tous les connecteurs vers InterChange Server Express, assurant ainsi une plus grande précision du contrôle des flux.
Pour mettre en oeuvre le contrôle de mémoire, appliquez la procédure suivante :
CW_MEMORY_MAX
Cette valeur détermine le segment de mémoire maximal qu'InterChange Server Express est autorisé à utiliser. Cette valeur, en mégaoctets, devrait être identique à la taille maximale de segment mémoire JVM, spécifiée dans les scripts de démarrage d'InterChange Server Express (paramètre -mx parameter). Par exemple :
-DCW_MEMORY_MAX=512m
Sous OS/400 et i5/OS, l'emplacement du script de démarrage du serveur /QIBM/UserData/WBIServer44/Nom_Instance_Serveur/bin/start_server.sh. Dans la mesure où OS/400 et i5/OS gère l'utilisation de la mémoire JVM d'InterChange Server Express en mémoire virtuelle, par défaut la taille maximale de segment a été retirée de ce script de démarrage. InterChange Server peut toutefois continuer à recevoir plus d'événements des connecteurs qu'il ne peut en gérer. Cela entraîne une augmentation de la mémoire JVM et une dégradation des performances. En l'absence du paramètre -mx sous OS/400 et i5/OS, vous devez surveiller la zone Mémoire totale de l'onglet Dispositions générales du panneau Modifier la configuration (voir la vue Gestion de composant InterChange Server ci-dessous). La valeur que vous attribuez à CW_MEMORY_MAX doit être supérieure à la plage de la zone Mémoire totale lorsqu'InterChange Server fonctionne normalement.