pycharm运行方式缓慢


123

我是JetBrainsPyCharm的忠实拥护者,但是我确实遇到了一些我可能想在这里问到的问题。

  1. 它意外挂起,并且经常发生。总体而言,它对我的​​口味有点慢,我希望获得一些有关如何提高IDE性能的提示。
  2. 通常,当我打开一个项目时,PyCharm似乎会将所有内置项标记为“未解决的参考”警告。诸如open(),str()等之类的东西,以及我导入的某些模块(如sys)(这些是最常见的违法者:))。

我能够修复(2)的唯一方法是转到PyCharm->首选项-> Python解释器->路径->重新加载路径列表,但是我必须经常这样做,以保证可以提出更永久的修复方法。

我的配置:运行在MacBook Pro上的Mac OSX Lion(2010年中),内存为8GB

现在看,我知道如果没有任何快照或有关正在发生的事情的更多信息,很难诊断此类问题,但是我只是问是否有人曾经遇到过这些问题,如果是,那么如何解决这些问题?

谢谢!

PS我也就这些问题联系了JetBrains,但老实说,我倾向于在这里找到常见问题的好解决方案,我想我也应该问一下


当控制台有很多行时,我的PyCharm运行速度非常慢(经常挂几秒钟)。=>我删除一些打印和它回到正常
文森特Ĵ

Answers:


27

PyCharm的每个性能问题都是独特的,一个可以帮助一个人的解决方案将对另一个人无效。解决您的具体性能问题的唯一正确的方法是通过捕获CPU分析器快照本文档中描述把它发送到PyCharm支持团队,无论是通过提交票据或直接进入问题跟踪

在分析了CPU快照之后,PyCharm团队将进行修复并发布一个新版本,该版本(希望)不会受到此特定性能问题的影响。该团队还可以根据对所提供数据的分析,建议您进行一些配置更改或解决方法,以解决问题。

所有其他“解决方案”(例如启用节电模式和更改突出显示级别)都将隐藏应解决的实际问题。


我发布了两个问题:一个被命名为“ [PyCharm-Problem] PyCharm运行非常缓慢”,另一个被命名为“ [PyCharm-Problem] PyCharm无法识别内置模块和某些模块”,但是无论如何,您已经对这两个模块都做出了回应因此,谢谢您:)
mlnyc 2012年

在这里发布问题后,您已经发布了它们。我刚刚收到并回复了他们两个。
CrazyCoder 2012年

1
如果PyCharm开始消耗CPU周期,我们可以做什么@CrazyCoder?以前,当特定的Python文件集中在编辑器中时会发生这种情况,但是在版本5中已修复。但是现在使用版本2016.1.2,即使关闭了所有编辑器文件并且没有任何运行,IDE似乎随机开始使用> 50%。在节电模式下,它会无限期地运行,直到我关闭PyCharm,然后很快又开始恢复它。任何想法?内存约为725(200MB)。我正在运行OS X 10.11.3,PyCharm构建#PY-145.844。对我来说,这是一个大问题,因为我住在一个停电的地方。
克里斯


2
“与PyCharm各项性能问题是独一无二的”,换句话说,PyCharm是不固定:-(相反,常见的非唯一的问题似乎是在项目中大量数据文件夹应该从检查来排除。
jolvi

169

1.更改检查级别

当前的PyCharm版本允许您更改其执行的静态代码分析的类型,并且还具有“省电/ CPU节省”功能(单击右下角锁旁边的图标):

在此处输入图片说明

2.更改索引目录
免于索引,这些目录是在项目路径中设置的,但实际上并不需要搜索和索引。按ALT+CTRL+S并搜索project

3.执行内存扫描
还有另一个有趣的功能:

进入设置(文件/设置)并搜索内存。在IDE Settings>Appearance->勾号中Show memory indicator。内存条将显示在右下角(请参见下图)。单击此栏可运行垃圾回收/内存清除

在此处输入图片说明


1
解决了我的问题。它占用了100%以上的CPU。不再。:)
Kashyap 2014年

6
这样的事情不应该偶尔自动运行吗?
Berry Tsakala 2014年

16
ctrl + alt + s->设置
mateuszb 2014年

2
第二点节省了我的时间!
2015年

2
我还将禁用您未使用的任何插件。双击并搜索“插件”,然后取消选中所有不需要的插件。
史蒂夫·罗西特

11

Lorenz Lo Sauer对此已经提出了一个很好的问题。但是如果您想通过Pycharm调整来解决此问题(无需关闭Pycharm代码检查)。您可以根据需要调整堆大小。因为我更喜欢为慢速运行的Pycharm应用程序使用增加堆大小的解决方案。

您可以通过编辑pycharm.exe.vmoptions文件来调整堆大小。和pycharm64.exe.vmoptions用于64位应用程序。然后在其上编辑-Xmx和-Xms值。

所以我为pycharm堆大小分配了2048m的xmx和xms值(即2GB)。这是我的配置。我有8GB的内存,所以我用以下设置进行了设置:

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

保存设置,然后重新启动IDE。然后在设置->外观和行为->外观中启用“显示内存指示器”。看到它的作用:

Pycharm缓慢,打字缓慢,增加Pycharm堆大小

而且Pycharm运行起来很快,现在运行良好。

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


1
完美:)应该提到重新启动IDE。
Appyx

1
这是最好的答案(请参阅下面的JMJ答案,它提供了一种简便的方法进行编辑)。我认为PyCharm的默认最大2GB内存对于许多用户来说有点低。
斯蒂芬

7

就我而言,问题是项目目录中的文件夹包含300k +个文件,总计11Gb。这只是一个临时文件夹,其中包含一些计算结果。将该文件夹移出项目结构后,缓慢性消失了。希望对您有所帮助,请检查您的项目结构,看是否有不需要的地方。


3
这个!如果要将文件夹保留在项目目录中,请通过以下方法将其从索引中
删除

6

如前所述,通过更改堆大小非常容易。只需轻松进入Pycharm帮助->编辑自定义VM选项...并将其更改为:

-Xms2048m
-Xmx2048m

4

关于冻结问题,我们发现这种情况是在处理至少有一个非常长的行的CSV文件时发生的。

复制:

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

但是,它似乎已在PyCharm 4.5.4中修复,因此,如果遇到这种情况,请尝试更新PyCharm。


2

我找到了一个可以在Windows上完美运行的解决方案,并希望与他人分享。

无效的解决方案:我有16GB的RAM,但仍然有严重的延迟。PyCharm为我占用不到1GB的RAM,所以这不是问题。关闭检查根本没有帮助,而且我没有任何特别的插件可以回忆。我还尝试使用该过程的CPU亲和力,该过程短暂起作用,但实际上并非如此。

效果很好,几乎完美:

  1. 将PyCharm的CPU优先级设置为高于正常
  2. 将Python进程的CPU优先级设置为低于正常

您可以手动执行此操作,但是我建议使用一个程序,该程序将在重启后以及多个实例之间保留设置。我使用了Process Hacker:右键单击该进程-> Priority->设置优先级。然后再次右键单击->处理->并选择“保存为pycharm64.exe”,以及类似地为python选择“保存为python.exe”。最后,在Process Hacker中,转到“选项”,然后选择“我登录时开始”。这样,即使重新启动程序和/或Windows之后,无论您启动了多少个python实例,所有Pycharm和python可执行文件都将获得这些CPU优先级。

基本上,PyCharm的大部分滞后可能是由于与其他程序的冲突。想一想:是的,PyCharm需要大量的CPU,但是PyCharm开发人员并不愚蠢。他们可能至少已确保它可以在没有任何延迟的情况下运行。但是现在您打开Chrome和30个标签页,Fiddler,一个FTP程序,iTunes,Word,Slack等,它们都在相同的CPU优先级下与PyCharm竞争。只要内核上所有程序的总和> 100%,就会看到延迟。切换到“高于正常”优先级可以使PyCharm更接近可能测试过的空核。

至于python.exe上的低于正常,基本上您不希望因自己的开发而减慢计算机的速度。大多数python程序本质上是“批处理”程序,并且您可能不会注意到运行它所花费的额外时间。如果您正在开发图形交互程序,我不建议您这样做。


对于4物理核心(8逻辑核心)的计算机来说,所有这些可能都不是什么大问题。就我而言,我坚持使用2个物理核心(4个逻辑核心),因此管理进行本地开发的流程更为重要。
斯蒂芬

3
警告:请勿高于正常水平。如果这样做,您将与Windows进程竞争,并可能对计算机造成破坏。如果有的话,您甚至都不会加快速度。
斯蒂芬

0

就我而言,这非常慢,我需要更改检查设置,我尝试了一切,唯一可行的是从2018.2版本到2016.2,有时最好进行一些更新...


在这里添加一些更deatils
马修斯阳光
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.