El progtwig Python se detiene en la línea de comando

Busqué mucho sobre el problema VMware con python, pero no encontré ninguna información sobre mi problema. Mi problema es que los progtwigs de Python se congelan, el proceso aún se está ejecutando, pero no usa la CPU y el uso de la memoria no cambia. El progtwig no devuelve ninguna excepción ni nada … simplemente se congela y nunca vuelve a ejecutarse. Parece que sucede al azar y no es un problema sin memoria disponible para mi máquina, porque al mismo tiempo puedo ejecutarlo en otra sesión.

Mi máquina es una máquina virtual con: Windows Server 2008 de 64 bits, VMware Tools 9.4.5

Probé python: 2.7, 3.3 y 3.4

Mi script de ejemplo: (pero no solo este script se congela)

print("START") for i in range(0, 1000): print("step: " + str(i)) file = open("./test_file.csv", "r") #file size is 1.2GB but I have 10GB RAM for line in file.readlines(): pass file.close() #close the file print("END") 

la salida del ejemplo es:

     START step 0 step 1 step 2 step 3 step 4 

    y se congela, es aleatorio en qué paso (a veces 4, 15, 34 …) Todo lo que puedo hacer es matar el proceso y ejecutarlo de nuevo. Durante la ejecución puedo ver que el progtwig puede usar 1,2GB de RAM y liberar … usar y liberar. La congelación siempre es posterior a la memoria de lanzamiento y, a partir de este momento, el uso de la memoria es estable y el uso de la CPU es 0% para este proceso.

    Ejecuto el script en IDLE para jugar con el depurador y el visor de stack, pero cuando el progtwig se congela, el ralentí no responde. También lo probé en otras máquinas no virtuales y no hay problema.

    Agradecería cualquier sugerencia, cómo resolver o depurar ese tipo de problemas.

    Lo resolví, el problema no era con Python o VMware … solo con mi conocimiento sobre los productos de Microsoft.

    No mencioné que ejecuto scripts de Python usando la línea de comandos de Windows, y la razón de la “congelación” fue cmd. No tenía idea de que cmd suspende la tarea ejecutada si marca algo en la línea de comandos.

    Solo en esta máquina virtual había configurado el “Modo de edición rápida”. Puedes cambiarlo siguiendo los pasos: haz clic derecho en el panel de cmd -> propiedades -> pestaña: “Opciones” -> sección: “Modo de edición rápida”)

    En este modo, si hace clic en la línea de comando, marcará algo y … suspenderá la tarea ejecutada … Apagué el “Modo de edición rápida” y el progtwig funciona perfectamente. Sin el modo QuickEdit, no puede marcar nada en la línea de comando haciendo clic.

    Lo sé … debería avergonzarme a mí mismo … y lo hago.

    Probablemente debería usar readline() no readlines() que lee todo el archivo.