Pycharm corriendo muy lento

123

Soy un gran admirador de PyCharm de JetBrains, pero me encuentro con algunos problemas que pensé que quizás preguntaría aquí.

  1. Se cuelga inesperadamente y esto sucede a menudo. En general, es un poco lento para mi gusto y me encantaría recibir algunos consejos sobre cómo aumentar el rendimiento del IDE.
  2. A menudo, cuando abro un proyecto, PyCharm parece marcar todos los elementos integrados como advertencias de referencia no resuelta. cosas como open (), str (), etc., así como algunos de los módulos que importo, como sys (estos son los infractores más comunes :)).

La única forma en que puedo arreglar (2) es yendo a PyCharm -> Preferencias -> Intérpretes de Python -> Rutas -> Recargar lista de rutas, pero tengo que hacer esto con la suficiente frecuencia como para justificar preguntar por una solución más permanente.

Mi configuración: Mac OSX Lion en MacBook Pro (mediados de 2010) con 8 GB de RAM

Ahora mire, entiendo que diagnosticar cosas como estas es difícil sin ningún tipo de instantánea o más información sobre lo que está sucediendo, pero simplemente pregunto si alguien se ha encontrado con estos problemas antes y, de ser así, ¿cómo se resolvieron?

¡Gracias!

PD: también me he puesto en contacto con JetBrains con respecto a estos problemas, pero, sinceramente, suelo encontrar buenas soluciones a problemas comunes aquí y pensé que también podría preguntar

mlnyc
fuente
Mi PyCharm se estaba ejecutando muy lento (se bloquea durante unos segundos muy a menudo) cuando la consola tenía muchas líneas. => Eliminé algunas impresiones y volvió a la normalidad
Vincent J

Respuestas:

27

Cada problema de rendimiento con PyCharm es único, una solución que ayuda a una persona no funcionará para otra. La única forma adecuada de solucionar su problema de rendimiento específico es capturando la instantánea del generador de perfiles de la CPU como se describe en este documento y enviándola al equipo de soporte de PyCharm , ya sea enviando un ticket o directamente al rastreador de problemas .

Una vez que se analiza la instantánea de la CPU, el equipo de PyCharm trabajará en una solución y lanzará una nueva versión que (con suerte) no se verá afectada por este problema de rendimiento específico. El equipo también puede sugerirle algún cambio de configuración o solución alternativa para solucionar el problema basándose en el análisis de los datos proporcionados.

Todas las demás "soluciones" (como habilitar el modo de ahorro de energía y cambiar el nivel de resaltado) solo ocultarán los problemas reales que deberían solucionarse.

CrazyCoder
fuente
Publiqué dos preguntas: una se llamaba "[PyCharm-Problema] PyCharm se ejecuta muy lentamente" y la otra se llamaba "[PyCharm-Problema] PyCharm no reconoce los componentes integrados y ciertos módulos", pero de todos modos, ya respondió a ambos así que gracias :)
mlnyc
Los ha publicado después de publicar la pregunta aquí. Acabo de recibir y responder a ambos.
CrazyCoder
1
@CrazyCoder, ¿hay algo que podamos hacer si PyCharm comienza a consumir ciclos de CPU? Anteriormente, sucedía mientras un archivo Python específico estaba enfocado en el editor, pero esto se solucionó con la versión 5. Pero ahora, con la versión 2016.1.2, el IDE parece comenzar a usar aleatoriamente> 50% incluso con todos los archivos del editor cerrados y nada en ejecución y en el modo de ahorro de energía, y continúa indefinidamente hasta que cierro PyCharm, y pronto comienza de nuevo al reanudarlo. ¿Alguna idea? La memoria es de aproximadamente 200 MB (de 725). Estoy ejecutando OS X 10.11.3, PyCharm build # PY-145.844. Este es un gran problema para mí, ya que vivo en un lugar con cortes de energía.
Chris
2
"Cada problema de rendimiento con PyCharm es único" en otras palabras, PyCharm no se puede arreglar :-( Por el contrario, un problema común no único parece ser una carpeta de datos grande en el proyecto que debe excluirse de la inspección.
jolvi
169

1. Cambiar el nivel de inspección

Las versiones actuales de PyCharm le permiten cambiar el tipo de análisis de código estático que realiza, y también cuenta con una función de ahorro de energía / CPU (haga clic en el icono en la parte inferior derecha, junto al candado):

ingrese la descripción de la imagen aquí

2. Cambiar directorios indexados
Excluya de la indexación los directorios que están configurados en las rutas del proyecto pero que no requieren ser buscados e indexados. Presione ALT+CTRL+Sy busque project.

3. Hacer barridos de memoria
Hay otra característica interesante:

Vaya a la configuración (Archivo / Configuración) y busque memoria . En IDE Settings>Appearance-> marcar Show memory indicator. Se mostrará una barra de memoria en la esquina inferior derecha (vea la imagen a continuación). Haga clic en esta barra para ejecutar una recolección de basura / barrido de memoria .

ingrese la descripción de la imagen aquí

Lorenz Lo Sauer
fuente
1
Resolvió mi problema. Estaba acaparando más del 100% de la CPU. Ya no. :)
Kashyap
6
¿No deberían estas cosas funcionar automáticamente de vez en cuando?
Berry Tsakala
16
ctrl + alt + s -> configuración
mateuszb
2
¡El punto 2 me salvó el tiempo!
Wok
2
También deshabilitaría cualquier complemento que no esté utilizando. Doble desplazamiento y busque "complementos" y desmarque todos los que no necesita.
Steve Rossiter
11

Bueno Lorenz Lo Sauer ya tengo una buena pregunta para esto. pero si desea resolver este problema a través de Pycharm Tuning (sin desactivar la inspección del código Pycharm). puede ajustar el tamaño del montón según lo necesite. ya que prefiero usar una solución de tamaño de montón creciente para la aplicación Pycharm de ejecución lenta.

Puede ajustar el tamaño del montón editando el archivo pycharm.exe.vmoptions. y pycharm64.exe.vmoptions para aplicaciones de 64 bits. y luego edite el valor -Xmx y -Xms en él.

Así que asigno 2048m para el valor xmx y xms (que es 2GB) para mi Pycharm Heap Size. Aquí está Mi configuración. Tengo 8 GB de memoria, así que lo configuré con esta configuración:

-server
-Xms2048m
-Xmx2048m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=2048m

guarde la configuración y reinicie IDE. Y habilito "Mostrar indicador de memoria" en la configuración-> Apariencia y comportamiento-> Apariencia. para verlo en acción:

Pycharm escritura lenta, lenta, aumenta el tamaño del montón de Pycharm

y Pycharm es rápido y funciona bien ahora.

Referencia: https://www.jetbrains.com/help/pycharm/2017.1/tuning-pycharm.html#d176794e266

Yuda Prawira
fuente
1
Perfecto :) Se debe mencionar el reinicio del IDE.
Appyx
1
Esta es la mejor respuesta (consulte la respuesta de JMJ a continuación, que ofrece una manera fácil de editarla). La memoria predeterminada máxima de PyCharm de 2 GB es un poco baja para muchos usuarios, creo.
Stephen
7

En mi caso, el problema era una carpeta en el directorio del proyecto que contenía más de 300k archivos por un total de 11 Gb. Esta era solo una carpeta temporal con imágenes de resultados de algunos cálculos. Después de mover esta carpeta fuera de la estructura del proyecto, la lentitud desapareció. Espero que esto pueda ayudar a alguien, verifique la estructura de su proyecto para ver si hay algo que no sea necesario.

usuario5441518
fuente
3
¡Esta! Si desea mantener la carpeta en el directorio del proyecto, excluirla de la indexación: haga clic con el botón derecho en la carpeta que desea excluir, 'Marcar directorio como' -> 'Excluido'
dtadres
6

Es muy fácil cambiar el tamaño del montón como se mencionó. Simplemente vaya a Pycharm HELP -> Edit custom VM option ... y cámbielo a:

-Xms2048m
-Xmx2048m
JMJ
fuente
4

Con respecto al problema de congelación, descubrimos que esto ocurría al procesar archivos CSV con al menos una línea extremadamente larga.

Reproducir:

[print(x) for x in (['A' * 54790] + (['a' * 1421] * 10))]

Sin embargo, parece que se ha solucionado en PyCharm 4.5.4 , por lo que si experimenta esto, intente actualizar su PyCharm.

James Bradbury
fuente
2

Encontré una solución a este problema que funciona maravillosamente en Windows y quería compartirla.

Soluciones que no funcionaron: tengo 16 GB de RAM y todavía tenía un retraso horrible. PyCharm me toma menos de 1 GB de RAM, así que ese no era el problema. Desactivar las inspecciones no ayudó en absoluto, y no recuerdo ningún complemento especial. También intenté jugar con las afinidades de la CPU para el proceso, que funcionó brevemente pero no realmente.

Lo que funcionó maravillosamente, casi perfectamente:

  1. Establezca la prioridad de CPU de PyCharm por encima de lo normal
  2. Establezca la prioridad de la CPU para los procesos de Python por debajo de lo normal

Puede hacer esto manualmente, pero recomiendo usar un programa que preserve la configuración en los reinicios y para múltiples instancias. Usé Process Hacker: haga clic derecho en el proceso -> Prioridad -> Establecer la prioridad. Luego haga clic derecho de nuevo -> Procesar -> y seleccione "Guardar para pycharm64.exe" y de manera similar para python "Guardar para python.exe". Finalmente, en Process Hacker, vaya a Opciones y seleccione "Iniciar cuando me conecte". Esto hará que TODOS los ejecutables de Pycharm y python adquieran estas prioridades de CPU, incluso después de reiniciar el programa y / o Windows, y sin importar cuántas instancias de Python lance.

Básicamente, gran parte del retraso de PyCharm puede deberse a un conflicto con otros programas. Piénselo: sí, PyCharm requiere mucha CPU, pero los desarrolladores de PyCharm no son estúpidos. Probablemente al menos se hayan asegurado de que pueda ejecutarse sin demoras en un núcleo vacío. Pero ahora abres Chrome y 30 pestañas, Fiddler, un programa FTP, iTunes, Word, Slack, etc., y todos compiten con PyCharm en el mismo nivel de prioridad de CPU. Siempre que la suma de todos los programas sea> 100% en un núcleo, verá un retraso. Cambiar a una prioridad superior a lo normal le da a PyCharm algo más cercano al núcleo vacío en el que probablemente se probó.

En cuanto a Por debajo de lo normal en python.exe, básicamente no desea ralentizar su computadora con su propio desarrollo. La mayoría de los programas de Python son esencialmente programas "por lotes", y probablemente no notará el tiempo extra que lleva ejecutar. No recomiendo esto si está desarrollando un programa interactivo gráfico.

Stephen
fuente
Todo esto puede ser un problema menor con una computadora de 4 núcleos físicos (8 núcleos lógicos). En mi caso me quedo atascado con 2 núcleos físicos (4 lógicos), por lo que es más importante gestionar los procesos haciendo desarrollo local.
Stephen
3
Advertencia : No sobrepase lo normal. Si hace esto, competirá con los procesos de Windows y posiblemente cause estragos en su computadora. Y ni siquiera lo haría mucho más rápido, si es que lo hace.
Stephen
0

En mi caso, fue muy lento y necesitaba cambiar la configuración de las inspecciones, probé todo, lo único que funcionó fue pasar de la versión 2018.2 a la 2016.2, a veces es mejor tener algunas actualizaciones detrás ...

hugo2kmx
fuente
Agregue algunos detalles más aquí
Mathews Sunny