Android Studio始终使用> 100%CPU-似乎没有后台进程在运行


86

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

通常,CPU使用率通常在100s或200s左右(请参见下面的屏幕截图)。有人也遇到过吗?如果是这样,IDE中是否有任何策略或选项可以纠正这种对系统资源的大量使用?

在此处输入图片说明

在此处输入图片说明


6
我有同样的问题,也OS X.
slanecek

2
我也一直在Windows 7上看到这种情况,CPU使用率总是80%以上。
马特

4
在我的小牛中,它甚至达到了300%的CPU使用率。(Android Studio 1.0.1)
neobie

检查您最近是否下载了任何插件。我下载了DevEco插件,然后卸载解决了该问题。可能它正在执行许多后台任务。
NullByte08

Answers:


50

您可以在“文件”菜单中尝试以下选项:

  1. 文件菜单->使高速缓存无效/重新启动...->使无效并重新启动
  2. 通过单击文件->省电模式启用省电模式

省电模式仅禁用代码洞察和后台任务。


4
我在Android Studio中遇到相同的问题,但是在IntelliJ IDEA 12.1.4中却没有。因此,这似乎是Android Studio特有的问题,而不是IntelliJ本身。当我开始构建过程(使用Maven)时,问题开始了。
bergvandenp

2
更新:这有所帮助,但它似乎也削弱了IDE的某些功能(例如自动完成功能,并且某些图标已经消失,可能不存在实时git支持?)
Matt

1
使用最新版本的Android Studio v5 +,自动完成功能可以在“省电”模式下使用。
muneikh 2014年

1
这确实使事情变得更好,但由于它禁用了我使用的太多功能,因此并不实用。
idanakav 2015年

1
省电模式在Android Studio 3.1中仍然可用,并且自早期版本以来已得到改进。
慕尼黑

47

感谢Buzzrick(在此页面上回答的问题,可能比我的回答还要重要),他提到了VCS。关闭VCS的所有后台操作似乎对高CPU使用率产生了巨大的影响-它是150%,现在或多或少是20%。

我在OS X上

转到:首选项>版本控制>背景。现在,在“后台操作”下列出了6个选项。我禁用了前三个选项:

在后台对VCS进行更新,在后台对VCS进行提交,在后台对VCS进行检出。


在Linux(Ubuntu)中,这对我也很有效。我只是禁用了所有VCS后台选项,并禁止占用CPU,根据顶部,现在它的使用率不到2%。非常感谢!
Fran Marzoa

3
对我来说,这是一个巨大的进步。Invalidate缓存仅做了很多事情,但是我仍然经常看到AS和Java的利用率超过100%(构建时超过300%!),现在它处于静止状态。我正在使用AS 3.4.1,仅供参考。
pdub

我似乎找不到此“背景”菜单。我在“设置”中执行搜索,但不会显示,但是当我通过Shift键执行“全部搜索”时,我可以看到它们,但是单击它们无处可寻。可能会被禁用吗?
约翰·欧内斯特·瓜达卢佩

设置的“版本控制”下应列出“背景”标签。
Miguel P.

米格尔(Miguel),如果我没有结婚(和一个男人),我会提出要让你的爱孩子。谢谢!
杰森

33

您可能会考虑转到“文件”>“使缓存无效/重新启动”,您的缓存可能在后台启动了一些时髦的事情

在此处输入图片说明


12

我遇到了持续的高CPU使用率,没有明显的原因。无效的缓存不起作用,省电模式也不起作用。

在我的情况下,'。git'目录中出了点问题,这导致android studio在无休止的循环中失败。再次检查回购可解决此问题。

我的建议是检查android studio日志中是否有任何提示,以提示导致其不稳定的原因。您也可以从终端启动它并检查Stdout / Stderr输出。


对我来说就是这种情况。我在git config中添加了一个别名,这使Android Studio无法使用。
McP

2
对我来说类似的情况。提交更改的文件并推送到存储库即可解决该问题。
Simas'7

5

我在Android Studio 1.0中启用了省电功能,但它有帮助,但这意味着我选择了Android Studio必须提供的众多功能。因此,我试图找到一个更好的解决方案,碰巧总是弹出一个对话框,要求我增加VM的大小。显然,一旦增加此设置,就可以关闭省电功能,并使我的Android Studio完美运行。

这样做的方法是:在Mac OS上,转到 /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions(要打开内容,请右键单击Android Studio应用>查看内容),您将找到以下变量

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

在Windows上,转到环境变量,然后找到一个名为 _JAVA_OPTIONS

相应地增加这些数字。

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

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


4

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

首先查看top -p <android studio pid> -H哪个线程正在使用大多数CPU,对我来说,共有三个线程:94232,94233,94234。然后我做一个jstack <pid>来获取android studio的堆栈转储,并寻找0x17018(= 94232),结果是"Gang worker#0 (Parallel CMD Threads)"。他们三个。显然,JVM一直都在忙于做GC。

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

解决方法是更改​​studio.vmoptions(在我的情况下为studio64.vmoptions),将-Xmx值从默认的750m增加到1500m。对我来说足够了。如果内存过多,请设置为2g或4g或16g。


感谢您提供有关存在的提示jstack。作为初次使用该软件的人,我显然不知道如何正确使用它,但是我可以看到有些VCS线程处于BLOCKING状态。我不确定这是否是根本原因,但似乎符合此处找到的其他一些描述。
史蒂芬·亨宁森

4

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

我通过重新加载android studio项目来解决此问题,当它询问有关连接CVS链接时(我不记得确切的用词),我只是说“忽略”。之后,它运行平稳,无需拉动CPU


3

我尝试以下步骤,并Android Studio在我Surface Pro 3的一个疯狂的金额加快:

  1. 减少amountmemoryAndroid Virtual Devices你。
  2. Invalidate Caches/Restart
  3. 进入Power Save模式
  4. 关闭所有unnecessary files that are opened
  5. 减少你VM Heap Size的周围256


1

我将这个问题搁置了一段时间,因为随着时间的推移,这里的同事和张贴者已经在各种解决方案中找到了价值。对我自己来说,仅更新Android Studio就解决了这个问题(几个月后,这里没有任何解决方案对我有用)。


4
我正在使用最新的稳定版Android Studio 3.2.1,但仍然看到此问题。
hansonchris '18

该模拟器似乎消耗大量能量。
DragonFire

0

在Android Studio 2.3上,当打开“ Android Monitor”窗口(该窗口显示来自设备和仿真器的Logcat消息),然后按Ctrl+FCmd+F在Mac上)以显示此窗口中的“查找”搜索栏时,会发生这种情况

当您通过启用开发人员模式的USB将三星手机连接到计算机时,也会发生这种情况,因为即使关闭Logcat窗口,三星手机通常每秒也会向Logcat发送大量调试文本。

因此,防止100%CPU使用率的解决方案是:

关闭查找搜索栏,或完全隐藏窗口。

要么

断开正在发送大量调试消息的三星电话的连接。

要么

升级到不会发生此错误的Android Studio 3。


0

就我而言,我有white-listedAndroid Studio的文件夹,"Eset Smart Security"问题已解决!

希望这可以帮助!

编辑:

禁止HIPSEset settings在我的情况也有帮助!

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.