Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt

Use this file to discover all available pages before exploring further.

Cette rubrique s’applique uniquement à Linux.
Cette rubrique explique comment configurer FineReader Engine (FRE) pour Linux afin d’utiliser un système de fichiers temporaire personnalisé (tmpfs) au lieu de l’emplacement par défaut /dev/shm lors de l’exécution en mode multiprocessing. Cette fonctionnalité est destinée aux utilisateurs qui exécutent FRE dans des environnements où le point de montage de la mémoire partagée par défaut est limité ou trop petit et ne peut pas être modifié, comme AWS Lambda, certains conteneurs ou d’autres environnements Linux gérés.

Vue d’ensemble

Par défaut, FRE pour Linux utilise /dev/shm comme emplacement de mémoire partagée lorsqu’il s’exécute en mode multiprocessing. Si la taille du point de montage de la mémoire partagée est trop faible, cela peut entraîner des erreurs lors du traitement. Pour contourner ce problème, vous pouvez configurer FRE pour utiliser un chemin tmpfs personnalisé offrant suffisamment d’espace et pouvant être redimensionné selon les besoins. Utilisez un chemin tmpfs personnalisé lorsque :
  • Vous exécutez FRE dans AWS Lambda ou dans des environnements similaires
  • /dev/shm est trop petit et ne peut pas être augmenté
  • Le multiprocessing échoue ou est instable en raison des limites de mémoire partagée
Le chemin tmpfs personnalisé n’est utilisé que lorsque le multiprocessing est activé :MultiProcessingMode = Auto or Parallel ProcessesCount > 1

Configuration d’un emplacement personnalisé

Il existe deux façons de configurer un emplacement tmpfs personnalisé pour FRE :
  • API
  • Fichier INI

Configuration de l’API

Pour configurer un emplacement tmpfs personnalisé à l’aide de l’API, définissez la propriété CustomTmpfsRootPath de l’objet MultiProcessingParams en lui attribuant le chemin souhaité, puis définissez la propriété UseCustomTmpfsRootPath sur TRUE. Par exemple :

CSafePtr<IMultiProcessingParams> multiProcessingParams;
engine->get_MultiProcessingParams( &multiProcessingParams );
multiProcessingParams->put_CustomTmpfsRootPath( "/dev/customShm" );
multiProcessingParams->put_UseCustomTmpfsRootPath( true );

Configuration du fichier INI

Pour configurer un emplacement tmpfs personnalisé à l’aide d’un fichier INI, créez un fichier INI et modifiez votre code source pour appeler LoadMultiProcessingParamsFromProfile() afin de charger les paramètres à partir du fichier INI. Ajoutez les lignes suivantes au fichier INI :
[MultiProcessingParams]
CustomTmpfsRootPath = /dev/customShm
UseCustomTmpfsRootPath = true 
Ensuite, chargez le fichier INI dans votre code :

engine->LoadProfile( "path/to/profile.ini" );
engine->LoadMultiProcessingParamsFromProfile();

Considérations relatives aux performances

La modification du chemin tmpfs par défaut peut avoir un impact négatif sur les performances, en particulier si l’emplacement personnalisé se trouve sur un système de fichiers standard plutôt que sur un montage tmpfs. Utilisez autant que possible un montage tmpfs pour l’emplacement personnalisé afin de préserver des performances et un niveau de sécurité optimaux. Voir les remarques importantes ci-dessous pour plus d’informations sur les performances.

Notes importantes

  1. Le SDK ne vérifie pas le type de système de fichiers. FRE utilisera le chemin que vous fournissez sans vérifier s’il s’agit d’un tmpfs. Si le chemin n’est pas un tmpfs :
    • Les fichiers sont écrits sur le disque plutôt qu’en mémoire
    • Le Processing devient nettement plus lent
    • Les données temporaires peuvent rester sur le disque
  2. Vous devez monter tmpfs vous-même et vous assurer qu’il est correctement monté. La taille du montage tmpfs peut être ajustée à l’aide de l’option size lors du montage. Par exemple :
    mount -t tmpfs -o size=1G tmpfs /dev/customShm
    
    Si le montage est absent ou mal configuré, FRE continuera à s’exécuter, mais son fonctionnement risque d’être incorrect ou inefficace.
    L’utilisation d’un chemin tmpfs personnalisé ne réduit pas la quantité de mémoire nécessaire à FRE.
  3. Cette modification redirige uniquement l’emplacement d’allocation de la mémoire partagée. Les limites de mémoire doivent toujours être gérées via la configuration du système.

Voir aussi

Objet MultiProcessingParams (interface IMultiProcessingParams) Méthode LoadMultiProcessingParamsFromProfile Traitement parallèle avec ABBYY FineReader Engine Travail avec Properties