Android工作室始终使用> 100%的CPU – 没有后台进程似乎正在运行

我注意到Android Studio(运行时)始终使用大于100%的CPU,即使看起来没有IDE运行的后台进程(索引等)。 我可能会怀疑这是我的盒子特有的东西,但一些开发人员也遇到了这个问题。

通常情况下,CPU使用率在100或200几中(见下面的截图)。 有没有人遇到这个呢? 如果是这样,在IDE中是否有任何策略或选项来纠正这种对系统资源的大量使用?

在这里输入图像说明

在这里输入图像说明

您可能想在“文件”菜单中尝试“省电”选项。

你可能会考虑去文件>无效caching/重新启动你的caching可能会开始背景中的东西时髦

在这里输入图像说明

我没有明显的原因遇到了一个高CPU使用率。 无效的caching没有工作,也没有省电模式。

在我的情况下,“.git”目录中有一个错误,导致android studio在无限循环中失败。 再次检查回购解决了问题。

我的build议是检查Android工作室日志的任何提示是什么导致它动摇。 您也可以从terminal启动并检查Stdout / Stderr输出。

有趣的是,对我来说,这似乎是与版本控制集成有关。

我通过重新加载我的android studio项目解决了这个问题,并且当它询问我的CVS链接(我不记得确切的措辞)时,我只是说“忽略”。 之后,它顺利运行而不拉CPU

我开启了Android Studio 1.0中的省电function,但这意味着我select了Android Studio所提供的众多function。 因此,我试图find一个更好的解决scheme,我碰巧总是popup一个对话框,并要求我增加我的VM大小。 显然,一旦我增加了这一点,我可以closures节电,并让我的Android Studio完美工作。

这是怎么做的:在Mac OS上转到/Applications/Android\ Studio.app/Contents/bin/studio.vmoptions (打开内容右键单击Android Studio应用程序>查看内容)你会发现下面的variables

 -Xms128m -Xmx4096m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=200m -XX:+UseCompressedOops 

在Windows上转到环境variables并find名为_JAVA_OPTIONS的系统variables

相应增加这些数字。

  • Xmx指定Java虚拟机(JVM)的最大内存分配池。
  • Xms指定初始内存分配池。

即,您的JVM将以Xms内存量启动,并且将能够使用最多Xmx的内存量。

我在Linux上有完全相同的问题。 通过增加内存大小来解决。

通过查看top -p <android studio pid> -H显示哪个线程正在使用大部分CPU,对我来说有三个线程:94232,94233,94234。 然后,我做了一个jstack <pid>来获取android studio的堆栈转储,并查找0x17018(= 94232),结果是"Gang worker#0 (Parallel CMD Threads)"帮工"Gang worker#0 (Parallel CMD Threads)" 。 他们三人。 显然JVM总是忙着做GC。

还打开jconsole对我的android studio进程,它显示GC时间“ 20 minutes ”! (在内存标签的底部)

修正是改变studio.vmoptions(或者我的例子中的studio64.vmoptions),将-Xmx值从默认的750m增加到1500m。 这对我来说已经足够了。 如果内存太多,请设置为2g或4g或16g ..

我尝试了以下过程,我的Surface Pro 3上的Android Studio加速了一个疯狂的数量:

  1. 减less您拥有的Android Virtual Devicesamountmemory
  2. Invalidate Caches/Restart
  3. 进入Power Save模式
  4. closures所有unnecessary files that are opened
  5. 将您的VM Heap Size减less到256左右。

在Windows上,我减less了studio64.exe进程的优先级,并将进程的亲和性设置为一半内核。 打开任务pipe理器,点击进程选项卡,右键单击进程studio64.exe,你会看到它在菜单中。