2017-08-23 3 views
0

J'ai un modèle qui prend environ 6 Go de mémoire et j'ai une machine de 16 Go. Maintenant, dans cette machine, je veux exécuter plusieurs instances de l'application python. Maintenant, si j'instancie ce modèle pour chaque instance, je ne pourrai guère exécuter 2 instances. Cependant, si nous pouvons partager ce modèle entre instances, il n'y aura pas de limitation telle qu'en dehors de ce modèle, l'encombrement de l'application restante est d'environ 400 mb pour chaque instance. Donc, devrais-je augmenter la mémoire de l'application ou existe-t-il un moyen de partager ce modèle entre les instances.Partager la mémoire entre plusieurs instances d'application

+0

Peut-être que vous pouvez essayer le multitraitement. – stamaimer

+0

@stamaimer Selon moi, le multitraitement nous aide à tirer parti des multiples cœurs de la machine. Comment pouvons-nous l'utiliser pour partager la mémoire entre les instances. –

+0

Chargez le modèle et démarrez un processus distinct pour chaque instance. – stamaimer

Répondre

0

Découvrez multiprocessing — Process-based parallelism. Avec cela, vous pouvez partager votre modèle entre les processus.

Les gestionnaires fournissent un moyen de créer des données qui peuvent être partagées entre processus différents, y compris le partage sur un réseau entre processus en cours d'exécution sur des machines différentes. Un objet manager contrôle un processus serveur qui gère les objets partagés. D'autres processus peuvent accéder aux objets partagés en utilisant des proxies.