pycharm en cours d'exécution wayyyy lent
Je suis un grand fan de PyCharm par JetBrains mais je rencontre quelques problèmes que je pensais peut-être poser ici.
- Il se bloque de façon inattendue et cela arrive souvent. Dans l'ensemble, c'est un peu lent à mon goût et j'aimerais quelques conseils sur la façon d'augmenter les performances de l'IDE
- souvent, lorsque j'ouvre un projet, PyCharm semble marquer 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 comme sys (ce sont les délinquants les plus courants:)).
La seule façon de réparer (2) est d'aller à PyCharm -> Preferences -> Python Interpreters -> Paths -> 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, je comprends que diagnostiquer des choses comme celles-ci est difficile sans aucune sorte d'instantané ou plus d'informations A propos de ce qui se passe, mais je demande simplement si quelqu'un a déjà rencontré ces problèmes et si oui, comment ceux-ci ont-ils été résolus?
Merci!
P.S. j'ai également contacté JetBrains au sujet de ces problèmes, mais honnêtement, j'ai tendance à trouver de bonnes solutions aux problèmes communs ici et j'ai pensé que je pourrais aussi bien Demander
8 réponses
Chaque problème de performance avec PyCharm est unique, une solution qui aide à une personne ne fonctionnera pas pour une autre. La seule façon appropriée de résoudre votre problème de performance spécifique est de capturer l'instantané du profileur CPU comme décrit dans ce document et l'Envoyer à l'équipe de support PyCharm, soit en soumettant un ticket ou directement dans le suivi des problèmes.
Une fois l'instantané CPU analysé, l'équipe PyCharm travaillera sur un correctif et publiera une nouvelle version qui ne sera (espérons-le) pas affecté par ce problème de performance 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 activer le mode D'économie d'énergie et changer le niveau de surbrillance) masqueront simplement les vrais problèmes qui devraient être corrigés.
1. Modifier le niveau d'inspection
Les versions actuelles de PyCharm vous permettent de modifier 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é de la serrure):
2. Modifier les répertoires indexés
Exclure les répertoires d'être indexés qui sont définis dans les chemins du projet mais qui ne doivent pas être recherchés et indexés. Appuyez sur ALT+CTRL+S
et recherchez project
.
3. Faites des balayages de mémoire
Il y a une autre caractéristique intéressante:
Allez dans les paramètres (Fichier / Paramètres) et recherchez 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 un collecte des ordures / mémoire de balayage.
Eh bien Lorenz Lo Sauer a déjà une bonne question pour cela. mais si vous voulez 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 lente.
Vous pouvez régler la taille du tas en éditant pycharm.EXE.fichier vmoptions. et pycharm64.EXE.vmoptions pour l'application 64bit. et puis éditez la valeur-Xmx et-Xms dessus.
Donc Je allouer 2048m pour la valeur xmx et xms (qui est 2GB) pour ma taille de tas Pycharm. Ici c'est Ma Configuration. J'ai 8 Go de mémoire donc je l'avais mis en place avec ce paramètre:
-server
-Xms2048m
-Xmx2048m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=2048m
Et j'active "afficher l'indicateur de mémoire" dans Paramètres - > Apparence et Comportement - > apparence. pour le voir en action :
Et Pycharm est rapide et fonctionne bien maintenant.
Référence : https://www.jetbrains.com/help/pycharm/2017.1/tuning-pycharm.html#d176794e266
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.
Pour 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.
C'est super facile en changeant la taille du tas comme il a été mentionné. Juste facilement en allant à PyCharm aide - > modifier l'option VM personnalisée ... et changez-le en:
-Xms2048m
-Xmx2048m
Dans mon cas, le problème était un dossier dans le répertoire du projet contenant 300k + fichiers totalisant 11Gb. C'était juste un dossier temporaire avec des images 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.
J'ai trouvé une solution à ce problème qui fonctionne magnifiquement sur Windows, et je voulais le partager.
Solutions qui n'ont pas fonctionné: j'ai 16GB de RAM et avait toujours un décalage horrible. PyCharm prend moins de 1GB de RAM pour moi, donc ce n'était pas le problème. Éteindre les inspections n'a pas aidé du tout, et je n'avais pas de plugins spéciaux dont je me souviens. J'ai également essayé de jouer avec les affinités CPU pour le processus, ce qui a brièvement fonctionné mais pas vraiment.
Ce qui a fonctionné magnifiquement, presque parfaitement:
- définissez la priorité CPU de PyCharm Sur supérieure à la normale
- définissez la priorité CPU pour les processus Python en dessous de la normale
Vous pouvez le faire manuellement, mais je recommande d'utiliser un programme qui préservera le paramètre à travers les redémarrages et pour plusieurs instances. J'ai utilisé Process Hacker: faites un clic droit sur le processus - > priorité - > définir la priorité. Puis faites un clic droit à nouveau - > processus - > et sélectionnez " Enregistrer pour pycharm64.exe "et de même pour python" Enregistrer pour Python.EXE."Enfin dans le processus 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 CPU, même après le redémarrage du programme et/ou de Windows, et peu importe 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 retard 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é CPU. Chaque fois que la somme de tous les programmes > 100% sur un noyau, vous voyez lag. Passer à une priorité supérieure à la normale donne à PyCharm quelque chose de plus proche du noyau vide sur lequel il a probablement été testé.
Comme Pour ci-dessous la normale sur python.exe, fondamentalement, 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 qu'il faut pour exécuter. Je ne recommande pas cela si vous développez un programme interactif graphique.
Dans mon cas, c'était très lent et j'avais besoin de changer les paramètres d'inspections, j'ai tout essayé, la seule chose qui fonctionnait passait de la version 2018.2 à 2016.2, parfois il vaut mieux être quelques mises à jour derrière...