En lugar de preocuparse acerca de limitar el tamaño de su proceso en tiempo de ejecución, que podría ser mejor a la figura si todos los datos que está almacenando en la memoria realmente necesitan estar en la memoria en todo momento.
Probablemente tenga mucho espacio en disco, y simplemente creando algunos archivos temporales (vea tempfile module) debe haber una amplia oportunidad de escribir cualquier dato que ya no esté utilizando para el cálculo actual en el disco. Luego puede volver a leerlo cuando/si lo necesita de nuevo. Esto es (simplísticamente) cuántas bases de datos funcionan.
Si bien el disco se considera "lento" en un sentido computacional, sigue siendo muy rápido y es una herramienta extremadamente útil cuando se trabaja con grandes conjuntos de datos. Y como ya está configurando la prioridad del proceso en "Por debajo de lo normal", no parece que la velocidad sea un problema grave para usted de todos modos, mientras que la memoria sí lo es.
640 kb debería ser suficiente para todos: D –
Incluso si pudiera haber una respuesta a su pregunta, es posible que desee echar un vistazo a la utilización de sus recursos. 2G es demasiado IMO – Perpetualcoder