Plutôt que de se soucier de limiter la taille de votre processus en cours d'exécution, il pourrait être préférable à la figure si toutes les données que vous stockez actuellement dans la mémoire doivent être en mémoire en tout temps.
Vous avez probablement beaucoup d'espace disque, et simplement en créant des fichiers temporaires (voir le tempfile module) il devrait y avoir amplement l'opportunité d'écrire sur le disque les données que vous n'utilisez plus pour le calcul courant. Vous pouvez ensuite le lire plus tard quand/si vous en avez besoin à nouveau. C'est (de manière simpliste) combien de bases de données fonctionnent.
Alors que le disque est considéré comme "lent" dans un sens de calcul, il est toujours très rapide et c'est un outil extrêmement utile lorsque vous travaillez avec de grands ensembles de données. Et comme vous définissez déjà la priorité du processus sur "Au-dessous de la normale", il ne semble pas que la vitesse soit un problème sérieux pour vous, alors que la mémoire l'est clairement.
640 ko devrait suffire à tout le monde: D –
Même s'il y a une réponse à votre question, vous pouvez jeter un autre coup d'œil à l'utilisation de vos ressources. 2G est juste trop IMO – Perpetualcoder