pycharm fonctionne lentement

123

Je suis un grand fan de PyCharm de JetBrains mais je rencontre des problèmes sur lesquels je pensais que je vais peut-être poser des questions ici.

  1. Il se bloque de manière inattendue et cela arrive souvent. Dans l'ensemble, c'est un peu lent à mon goût et j'aimerais beaucoup de conseils sur la façon d'augmenter les performances de l'IDE
  2. Souvent, lorsque j'ouvre un projet, PyCharm semble signaler tous les éléments intégrés comme des avertissements de référence non résolus. des choses comme open (), str (), etc. ainsi que certains des modules que j'importe tels que sys (ce sont les contrevenants les plus courants :)).

La seule façon de réparer (2) est d'aller dans PyCharm -> Préférences -> Interprètes Python -> Chemins -> Recharger la liste des chemins, mais je dois le faire assez souvent pour justifier de poser des questions sur un correctif plus permanent.

Ma configuration: Mac OSX Lion fonctionnant sur MacBook Pro (mi-2010) avec 8 Go de RAM

Maintenant, regardez, je comprends que diagnostiquer des choses comme celles-ci est difficile sans aucune sorte d'instantané ou plus d'informations sur ce qui se passe, mais je demande simplement si quelqu'un a déjà rencontré ces problèmes et si oui, comment ont-ils été résolus?

Merci!

PS J'ai également contacté JetBrains concernant ces problèmes, mais honnêtement, j'ai tendance à trouver de belles solutions aux problèmes courants ici et j'ai pensé que je pourrais aussi bien demander

mlnyc
la source
Mon PyCharm fonctionnait très lentement (se bloque pendant quelques secondes très souvent) alors que la console avait beaucoup de lignes. => J'ai enlevé quelques empreintes et c'est revenu à la normale
Vincent J

Réponses:

27

Chaque problème de performance avec PyCharm est unique, une solution qui aide une personne ne fonctionnera pas pour une autre. Le seul moyen approprié de résoudre votre problème de performances spécifique consiste à capturer l'instantané du profileur de processeur comme décrit dans ce document et à l' envoyer à l'équipe de support PyCharm , soit en soumettant un ticket, soit directement dans le suivi des problèmes .

Après l'analyse de l'instantané du processeur, l'équipe PyCharm travaillera sur un correctif et publiera une nouvelle version qui ne sera (espérons-le) pas affectée par ce problème de performances spécifique. L'équipe peut également vous suggérer un changement de configuration ou une solution de contournement pour remédier au problème en fonction de l'analyse des données fournies.

Toutes les autres «solutions» (comme l'activation du mode d'économie d'énergie et la modification du niveau de surbrillance) ne feront que masquer les vrais problèmes qui devraient être résolus.

CrazyCoder
la source
J'ai posté deux questions: l'une s'appelait «[PyCharm-Problem] PyCharm fonctionnant très lentement» et l'autre s'appelait «[PyCharm-Problem] PyCharm ne reconnaît pas les modules intégrés et certains modules» mais de toute façon, vous avez déjà répondu aux deux alors merci :)
mlnyc
Vous les avez publiés après avoir publié la question ici. Je viens de les recevoir et d'y répondre.
CrazyCoder
1
@CrazyCoder pouvons-nous faire quelque chose si PyCharm commence à consommer des cycles CPU? Auparavant, cela se produisait alors qu'un fichier Python spécifique était concentré dans l'éditeur, mais cela a été corrigé avec la version 5. Mais maintenant, avec la version 2016.1.2, l'EDI semble commencer à utiliser au hasard> 50% même avec tous les fichiers de l'éditeur fermés et rien en cours d'exécution et en mode d'économie d'énergie, et il continue indéfiniment jusqu'à ce que je ferme PyCharm, et recommence bientôt à le reprendre. Une idée? La mémoire est d'environ 200 Mo (sur 725). J'utilise OS X 10.11.3, PyCharm build # PY-145.844. C'est un gros problème pour moi car je vis dans un endroit avec des coupures de courant.
Chris
1
@Chris s'il vous plaît se référer à intellij-support.jetbrains.com/hc/articles/207241235
CrazyCoder
2
«Chaque problème de performance avec PyCharm est unique» en d'autres termes, PyCharm est impossible à résoudre :-( Au contraire, un problème non unique commun semble être un grand dossier de données dans le projet qui devrait être exclu de l'inspection.
jolvi
169

1. Changer le niveau d'inspection

Les versions actuelles de PyCharm vous permettent de changer le type d'analyse de code statique qu'il effectue, et dispose également d'une fonction d'économie d'énergie / CPU (cliquez sur l'icône en bas à droite, à côté du verrou):

entrez la description de l'image ici

2. Modifier les répertoires indexés
Excluez les répertoires de l'indexation qui sont définis dans les chemins du projet mais qui n'ont pas réellement besoin d'être recherchés et indexés. Appuyez sur ALT+CTRL+Set recherchez project.

3. Effectuer des balayages de mémoire
Il existe une autre fonctionnalité intéressante:

Allez dans les paramètres (Fichier / Paramètres) et recherchez la mémoire . Dans IDE Settings>Appearance-> cocher Show memory indicator. Une barre de mémoire sera affichée dans le coin inférieur droit (voir l'image ci-dessous). Cliquez sur cette barre pour exécuter une récupération de place / balayage de mémoire .

entrez la description de l'image ici

Lorenz Lo Sauer
la source
1
J'ai résolu mon problème. Il monopolisait plus de 100% du processeur. Plus maintenant. :)
Kashyap
6
De telles choses ne devraient-elles pas s'exécuter automatiquement de temps en temps?
Berry Tsakala
16
ctrl + alt + s -> settings
mateuszb
2
Le point n ° 2 m'a fait gagner du temps!
Wok
2
Je désactiverais également tous les plugins que vous n'utilisez pas. Double shift et recherchez "plugins" et décochez tous ceux dont vous n'avez pas besoin.
Steve Rossiter
11

Eh bien Lorenz Lo Sauer a déjà une bonne question à ce sujet. mais si vous souhaitez résoudre ce problème via le réglage Pycharm (sans désactiver l'inspection du code Pycharm). vous pouvez régler la taille du tas selon vos besoins. puisque je préfère utiliser une solution de taille de tas croissante pour une application Pycharm à exécution lente.

Vous pouvez régler la taille du tas en éditant le fichier pycharm.exe.vmoptions. et pycharm64.exe.vmoptions pour une application 64 bits. puis modifiez la valeur -Xmx et -Xms dessus.

J'alloue donc 2048m pour la valeur xmx et xms (qui est de 2 Go) pour ma taille de tas Pycharm. Voici ma configuration. J'ai 8 Go de mémoire, donc je l'avais configuré avec ce paramètre:

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

enregistrez le paramètre et redémarrez IDE. Et j'active "Afficher l'indicateur de mémoire" dans les paramètres-> Apparence et comportement-> Apparence. pour le voir en action:

Pycharm lent, typage lent, augmentation de la taille du tas Pycharm

et Pycharm est rapide et fonctionne bien maintenant.

Référence: https://www.jetbrains.com/help/pycharm/2017.1/tuning-pycharm.html#d176794e266

Yuda Prawira
la source
1
Parfait :) Le redémarrage de l'EDI doit être mentionné.
Appyx
1
C'est la meilleure réponse (voir la réponse de JMJ ci-dessous qui donne un moyen facile de la modifier). La mémoire maximale par défaut de PyCharm de 2 Go est un peu faible pour de nombreux utilisateurs, je pense.
Stephen
7

Dans mon cas, le problème était un dossier dans le répertoire du projet contenant plus de 300 000 fichiers totalisant 11 Go. Ce n'était qu'un dossier temporaire contenant les images des résultats de certains calculs. Après avoir déplacé ce dossier hors de la structure du projet, la lenteur a disparu. J'espère que cela peut aider quelqu'un, veuillez vérifier la structure de votre projet pour voir s'il y a quelque chose qui n'est pas nécessaire.

user5441518
la source
3
Ce! Si vous souhaitez conserver le dossier dans le répertoire du projet, excluez-le de l'indexation par: clic droit sur le dossier que vous souhaitez exclure, 'Marquer le répertoire comme' -> 'Exclu'
dtadres
6

C'est super facile en changeant la taille du tas comme il a été mentionné. Simplement facilement en allant dans Pycharm HELP -> Modifier l'option VM personnalisée ... et changez-la en:

-Xms2048m
-Xmx2048m
JMJ
la source
4

En ce qui concerne le problème de gel, nous avons constaté que cela se produisait lors du traitement de fichiers CSV avec au moins une ligne extrêmement longue.

Reproduire:

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

Cependant, il semble avoir été corrigé dans PyCharm 4.5.4 , donc si vous rencontrez cela, essayez de mettre à jour votre PyCharm.

James Bradbury
la source
2

J'ai trouvé une solution à ce problème qui fonctionne à merveille sous Windows, et je voulais la partager.

Des solutions qui n'ont pas fonctionné: j'ai 16 Go de RAM et j'avais toujours un retard horrible. PyCharm prend moins de 1 Go de RAM pour moi, donc ce n'était pas le problème. La désactivation des inspections n'a pas du tout aidé, et je n'avais pas de plugins spéciaux dont je me souviens. J'ai également essayé de jouer avec les affinités du processeur pour le processus, ce qui a brièvement fonctionné mais pas vraiment.

Ce qui a fonctionné à merveille, presque parfaitement:

  1. Réglez la priorité du processeur de PyCharm sur Au-dessus de la normale
  2. Définissez la priorité du processeur pour les processus Python sur Inférieur à la normale

Vous pouvez le faire manuellement, mais je recommande d'utiliser un programme qui conservera le paramètre lors des redémarrages et pour plusieurs instances. J'ai utilisé Process Hacker: Faites un clic droit sur le processus -> Priorité -> Définissez la priorité. Puis cliquez à nouveau avec le bouton droit -> Process -> et sélectionnez "Enregistrer pour pycharm64.exe" et de même pour python "Enregistrer pour python.exe". Enfin, dans Process Hacker, allez dans Options et sélectionnez "Démarrer lorsque je me connecte". Cela permettra à TOUS les exécutables Pycharm et python d'acquérir ces priorités de processeur, même après le redémarrage du programme et / ou de Windows, et quel que soit le nombre d'instances python que vous lancez.

Fondamentalement, une grande partie du retard de PyCharm peut être due à un conflit avec d'autres programmes. Pensez-y: Oui, PyCharm nécessite beaucoup de CPU, mais les développeurs de PyCharm ne sont pas stupides. Ils ont probablement au moins assuré qu'il peut fonctionner sans décalage sur un noyau vide. Mais maintenant, vous ouvrez Chrome et 30 onglets, Fiddler, un programme FTP, iTunes, Word, Slack, etc., et ils sont tous en concurrence avec PyCharm au même niveau de priorité du processeur. Chaque fois que la somme de tous les programmes> 100% sur un cœur, vous voyez un décalage. Le passage à la priorité au-dessus de la normale donne à PyCharm quelque chose de plus proche du noyau vide sur lequel il a probablement été testé.

Quant à Below Normal sur python.exe, vous ne voulez pas ralentir votre ordinateur avec votre propre développement. La plupart des programmes python sont essentiellement des programmes "batch", et vous ne remarquerez probablement pas le temps supplémentaire nécessaire pour s'exécuter. Je ne le recommande pas si vous développez un programme graphique interactif.

Stephen
la source
Tout cela peut être moins problématique avec un ordinateur à 4 cœurs physiques (8 cœurs logiques). Dans mon cas, je suis coincé avec 2 cœurs physiques (4 logiques), il est donc plus important de gérer les processus de développement local.
Stephen
3
Attention : ne dépassez pas la normale. Si vous faites cela, vous serez en concurrence avec les processus Windows et causerez peut-être des ravages sur votre ordinateur. Et vous ne le rendriez même pas beaucoup plus rapide, voire pas du tout.
Stephen
0

Dans mon cas, c'était très lent et j'avais besoin de changer les paramètres d'inspection, j'ai tout essayé, la seule chose qui a fonctionné était de passer de la version 2018.2 à 2016.2, il vaut parfois mieux avoir des mises à jour derrière ...

hugo2kmx
la source
Ajoutez quelques détails ici
Mathews Sunny