Ajuster la ressource mémoire

Lorsque vous travaillez avec de très grands jeux de données, les performances de FME peuvent être affectées (problème de mémoire vive).

Si vous exécutez un jeu de données très important dans un traitement, il se peut que vous voyiez apparaître un message indiquant "Out of Memory. Veuillez libérer de la mémoire, puis choisissez de réessayer". Cela signifie que la mémoire ne peut plus être allouée.

Tenter une des options suivantes :

  • Consulter FME Community pour savoir comment Améliorer les performances de FME.
  • Définir un répertoire temporaire
  • Supprimer les fichiers temporaires
  • Ajouter de l'espace d'échange (swap space) (Linux uniquement).

Définir un répertoire temporaire

Lorsque FME exécute une conversion importante de plusieurs jeux de données, il a souvent besoin de beaucoup d'espace disque temporaire. Cela est particulièrement vrai lors de l'exécution d'une répartition de jeux de données, car rien ne garantit que les entités arriveront à la répartition dans un seul groupe de jeux de données. Par conséquent, FME doit écrire tous les jeux de données dans un espace de stockage temporaire, puis les répartir ensuite. La quantité d'espace disque disponible est donc importante, mais pour ce qui est des performances, vous pourriez être plus préoccupé par la vitesse de toute cette activité disque.

De nombreux fichiers temporaires de FME sont créés lors de la mise en cache de données pour des jeux de données plus importants ou pour l'affichage dans FME Data Inspector. L'utilisation d'un disque dur plus rapide peut faire une différence significative dans la traduction de FME si les vitesses d'E/S du cache du disque sont améliorées. Par exemple, si vous avez un SSD (Solid-State Drive) sur votre ordinateur. Ces disques sont généralement un peu plus rapides que les disques durs traditionnels. Si vous pouvez diriger votre FME_TEMP vers un disque SSD, vous constaterez une légère augmentation des performances lorsque vous travaillez avec des jeux de données plus importants.

Lorsque cela est possible, installez votre répertoire temporaire sur le disque le plus rapide.

Note: Cet article de FME Community vous explique comment définir la variable d'environnement FME_TEMP. (Sous Windows 7, regardez dans Panneau de configuration > Système > Avancé > Variables d'environnement).

Notes

Ne pas définir de répertoire temporaire sur le même disque que celui utilisé par le système d'exploitation ; FME peut être ralenti par le système d'exploitation lors de l'écriture dans le même disque au même moment.

Essayez de paramétrer le répertoire temporaire dans un disque ayant une grande quantité d'espace disponible, cela n'améliorera pas la vitesse mais cela peut éviter l'échec d'un traitement par manque de place.

Supprimer les fichiers temporaires

FME crée des fichiers temporaires pendant les traductions. Lors d'un arrêt normal, FME purge automatiquement ces fichiers.

Si FME ne se ferme pas correctement, les fichiers temporaires ne sont pas purgés et prennent de la place sur le disque.

Un arrêt " propre " a lieu lorsque vous arrêtez un traitement à l'aide du bouton "Arrêter le traitement" de la barre d'outils, ou lorsque le traitement se termine. Les fichiers temporaires ne sont pas purgés si, par exemple, votre ordinateur tombe en panne ou si vous fermez FME Workbench au milieu d'un traitement.

Il est donc recommandé de régulièrement supprimer ces fichiers en sélectionnant Outils > Supprimer les fichiers temporaires.

Ajout d'espace d'échange sous Linux

Sous  Linux, vous pouvez voir ce message d'alerte dans le log :

Le système manque de mémoire. FME risque d'être interrompu par le système d'exploitation.

Sous Linux, FME repose sur l'utilisation d'espaces d'échange pour gérer l'utilisation de la mémoire, ce qui nécessite que votre système ait assez d'espace alloué à l'exécution de FME et autres processus.

Pour augmenter l'espace d'échange, consulter la documentation Ubuntu SwapFaq sur https://help.ubuntu.com/community/SwapFaq.