Aller au contenu

    Planisware : problème de saturation mémoire pour le client lourd

    Introduction

    Le problème abordé dans cet article se manifeste par un bug lors du démarrage ou de l’ouverture de projets en client lourd (appelé aussi Planisware PRO). Il se caractérise par le message d’erreur classique suivant :

    The operating system will not make the space available because the address
    space reserved for the heap could not be increased.

    Par exemple :

    FICHE D'ANOMALIE OPX2
    ________________________________________________________________________________
    DATE : 01/7/2013 12:00
    ________________________________________________________________________________
    REDACTEUR : NIL
    ________________________________________________________________________________
    SITE :
    ________________________________________________________________________________
    VERSION : Planisware 5 – build 0520 – SP3
    ________________________________________________________________________________
    ENVIRONNEMENT: x86 – MY_COMPUTER – Microsoft Windows 2000/XP/Vista/7/Server – Generic
    ________________________________________________________________________________
    Nom du fichier : MY_PROJECT
    Impossible de lire le pdf-file-element numéro 96465599 : « Error while doing operation
    on object #{ARCHIVE:ENVIRONMENT-OBJECT@96465599}: Transaction MAKE on object
    #{ARCHIVE:ENVIRONMENT-OBJECT@96465599} [status SETTING-ATTRIBUTES] with arguments ()

    <span >An allocation request for 24 bytes caused tenuring and a need for
    2883584 more bytes of heap. The operating system will not make the
    space available because the address space reserved for the heap could
    not be increased.</span> »

    Impossible de lire le pdf-file-element num&eacute;ro 359976189 :
    « Error while doing operation on object
    #{ARCHIVE:ENVIRONMENT-OBJECT@359976199}: Transaction MAKE on object
    #{ARCHIVE:ENVIRONMENT-OBJECT@359976199} [status SETTING-ATTRIBUTES]
    with arguments ()

    An allocation request for 24 bytes caused tenuring and a need for
    7602176 more bytes of heap. The operating system will not make the
    space available because the address space reserved for the heap could
    not be increased. »

    Origine du problème

    Comme indiqué dans le message d’erreur le client lourd n’arrive pas à obtenir du système d’exploitation (OS) la RAM nécessaire pour charger ses données. Il renvoie donc une erreur et se ferme.

    Explications

    Le client lourd Planisware utilise un volume de RAM important pour fonctionner correctement. En effet, comme pour le serveur d’application, le client lourd charge ses données en cache pour accélérer les calculs. Ainsi plus le volume de données chargées sera important (nombre de projet et d’objets par projets), plus les besoins de mémoire vive seront élevés.

    A titre d’exemple, de base le chargement d’un client lourd avec un paramétrage Processes standard va nécessiter plusieurs centaines de Mo. Cette consommation a d’ailleurs augmenté entre la SP1 et la SP3.

    On comprend donc qu’il faudra impérativement avoir une machine avec plusieurs Go de RAM libre si l’on veut faire fonctionner un client lourd sans rencontrer ce genre de problème.

    Cependant, au-delà de la RAM totale disponible sur la machine, 2 problèmes peuvent encore apparaître :

    → Limitation de la taille du processus Planisware opx2.exe standard
    → Limitation de la taille du processus sous Windows 32 bits.

    1) Limitation de la taille du processus Planisware opx2.exe standard
    Lorsque l’on installe une version standard du client lourd (sans le serveur d’application) les binaires Planisware sont bridés à une utilisation de 800 Mo de RAM en 32 bits et à un peu plus d’1 Go en 64 bits. Ainsi, si le client lourd a besoin de plus de RAM il va renvoyer une erreur.

    Par ailleurs, pour contourner cette limitation il sera nécessaire de remplacer le binaire « opx2.dxl » par le fichier « intranet.dxl » d’une installation d’un Planisware Application Server en le renommant en « opx2.dxl ». Il n’y aura alors plus de limitation de la taille du processus client lourd autre que celles que peut imposer l’OS.

    2) Limitation de la taille du processus sous Windows 32 bits
    Sous Windows 32 bits la taille maximale (en RAM) d’un processus Planisware Pro est limitée à moins d’1Go (généralement environ 800 Mo). Au-delà, on aura une erreur du type « The operating system will not make the space available because the address space reserved for the heap could not be increased.”

    Ainsi, pour utiliser un client lourd sur une application contenant beaucoup de données (particulièrement sous P5 SP3), il est fortement recommandé d’utiliser un poste client possédant un OS 64 bits si on veut éviter les plantages du client lourd liés aux limitations de RAM.

    Note : attention pour que le client lourd soit installé en 64 bits on utilise le setup d’installation standard que l’on déroulera sur un poste 64 bits. En revanche si on copie une installation de Planisware réalisée sur un poste 32 bits, sur un poste 64 bit,  le client lourd tournera en tant que processus 32 bits.