pycharm运行wayyyy慢

我是JetBrains的PyCharm的忠实粉丝,但是我遇到了一些我想也许会问到的问题。

  1. 它意外挂起,这经常发生。 总的来说,它对我的​​口味有点慢,我想了解如何提高IDE性能的一些技巧
  2. 通常当我打开一个项目时,PyCharm似乎将所有的内build标记为未解决的引用警告。 像open(),str()等等,还有一些我导入的模块,如sys(这些是最常见的违法者:))。

我能够修复(2)的唯一方法是去PyCharm – >首选项 – > Python解释器 – >path – >重新加载path列表,但我必须经常这样做,以保证问一个更永久的修复。

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

现在看,我明白,诊断这样的事情是很困难的,没有任何forms的快照或关于发生的事情的更多信息,但我只是问是否有人遇到过这些问题,如果是的话,这些问题是如何解决的?

谢谢!

PS我也联系了JetBrains关于这些问题,但老实说,我倾向于在这里find很好的解决常见问题的办法,我想我也可以问

PyCharm的每个性能问题都是独一无二的,对一个人有帮助的解决scheme不会为另一个人所用。 解决特定性能问题的唯一正确方法是通过捕获本文档中描述的CPU分析器快照并将其发送到PyCharm支持团队 (通过提交票证或直接发送到问题跟踪器) 。

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

所有其他“解决scheme”(如启用省电模式和更改突出显示级别)只会隐藏应该修复的实际问题。

1.更改检查级别

当前的PyCharm版本允许你改变它执行的静态代码分析的types,并且还具有Power / CPU Saving特性(点击右下angular锁的旁边的图标):

在这里输入图像说明

2.更改索引目录
排除在项目path中设置的目录索引,但实际上并不需要search和编制索引。 按ALT+CTRL+S并searchproject

3.记忆扫描
还有一个有趣的特点:

进入设置(文件/设置)并search内存 。 在IDE Settings>Appearance – >打勾Show memory indicator 。 内存条会显示在右下angular(见下图)。 单击此栏以运行垃圾收集/内存清除

在这里输入图像说明

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

重现:

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

然而,它似乎已经在PyCharm 4.5.4中修复 ,所以如果你遇到这种情况,请尝试更新你的PyCharm。

洛伦茨罗绍尔已经有一个很好的问题。 但是如果你想通过Pycharm Tuning(不closuresPycharm代码检查)来解决这个问题的话。 您可以根据需要调整堆大小。 因为我更喜欢使用越来越多的堆大小解决scheme来缓慢运行的Pycharm应用程序。

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

所以我为xmx和xms值(2GB)分配了2048m的Pycharm堆大小。 这是我的configuration。 我有8GB内存,所以我已经设置了这个设置:

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

然后在设置 – >外观和行为 – >外观中启用“显示记忆指示器”。 看到它的行动:

Pycharm慢,打字慢,增加Pycharm Heap Size

现在Pycharm很快并且运行良好。

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

通过改变提到的堆大小来超级简单。 只需轻松进入Pycharm HELP – >编辑自定义VM选项…并将其更改为:

 -Xms2048m -Xmx2048m 

我发现这个问题的解决scheme,在Windows上运行漂亮,并希望分享它。

解决scheme不起作用:我有16GB的内存,仍然有可怕的滞后。 PyCharm对我来说占用的内存不到1GB,所以这不是问题。 closures检查根本没有帮助,我没有任何特别的插件,我记得。 我也试着玩CPU的亲和力,这个过程很简单,但不是真的。

什么工作美丽,几乎完美:

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

您可以手动执行此操作,但是我build议使用一个程序来保留重新启动和多个实例的设置。 我使用Process Hacker:右键点击进程 – >优先级 – >设置优先级。 然后再次右键单击 – >进程 – >并select“保存为pycharm64.exe”,同样的python“保存为python.exe”。 最后在Process Hacker中进入选项并select“当我login时启动”。 这将使得所有的Pycharm和python可执行文件都可以获得这些CPU优先级,即使在重新启动程序和/或Windows之后,无论启动了多less个python实例。

基本上,PyCharm的许多滞后可能是由于与其他程序的冲突。 想一想:是的,PyCharm需要大量的CPU,但是PyCharm开发者并不傻。 他们至less可以确保它可以在一个空的核心上无延迟地运行。 但现在你打开Chrome和30个标签,Fiddler,一个FTP程序,iTunes,Word,Slack等等,它们都与PyCharm在相同的CPU优先级上竞争。 每当所有程序的总和大于100%时,你就会看到滞后。 切换到正常优先级使PyCharm更接近它可能testing的空核心。

对于python.exe下的Normal Normal,基本上你不想用自己的开发慢下来。 大多数python程序本质上是“批处理”程序,你可能不会注意到运行需要额外的时间。 如果您正在开发graphics交互式程序,我不build议这样做。