我注意到Android Studio(运行时)始终使用超过100%的CPU,即使它看起来没有IDE正在运行的后台进程(索引等)。我可能会怀疑这是我的盒子特有的,但是一些其他开发人员也遇到了这个问题。
通常,CPU使用率通常在100s或200s左右(请参见下面的屏幕截图)。有人也遇到过吗?如果是这样,IDE中是否有任何策略或选项可以纠正这种对系统资源的大量使用?
我注意到Android Studio(运行时)始终使用超过100%的CPU,即使它看起来没有IDE正在运行的后台进程(索引等)。我可能会怀疑这是我的盒子特有的,但是一些其他开发人员也遇到了这个问题。
通常,CPU使用率通常在100s或200s左右(请参见下面的屏幕截图)。有人也遇到过吗?如果是这样,IDE中是否有任何策略或选项可以纠正这种对系统资源的大量使用?
DevEco
插件,然后卸载解决了该问题。可能它正在执行许多后台任务。
Answers:
您可以在“文件”菜单中尝试以下选项:
省电模式仅禁用代码洞察和后台任务。
感谢Buzzrick(在此页面上回答的问题,可能比我的回答还要重要),他提到了VCS。关闭VCS的所有后台操作似乎对高CPU使用率产生了巨大的影响-它是150%,现在或多或少是20%。
我在OS X上
转到:首选项>版本控制>背景。现在,在“后台操作”下列出了6个选项。我禁用了前三个选项:
在后台对VCS进行更新,在后台对VCS进行提交,在后台对VCS进行检出。
您可能会考虑转到“文件”>“使缓存无效/重新启动”,您的缓存可能在后台启动了一些时髦的事情
我在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
相应地增加这些数字。
即,您的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)"
。他们三个。显然,JVM一直都在忙于做GC。
还针对我的android studio进程打开了jconsole,它显示了GC时间“ 20 minutes
”!(在“内存”标签的底部)
解决方法是更改studio.vmoptions(在我的情况下为studio64.vmoptions),将-Xmx
值从默认的750m增加到1500m。对我来说足够了。如果内存过多,请设置为2g或4g或16g。
jstack
。作为初次使用该软件的人,我显然不知道如何正确使用它,但是我可以看到有些VCS线程处于BLOCKING状态。我不确定这是否是根本原因,但似乎符合此处找到的其他一些描述。
在Windows上,我降低了studio64.exe进程的优先级,并将进程的亲和力设置为一半的内核。打开任务管理器,单击进程选项卡,右键单击进程studio64.exe,您将在菜单中看到它。
我将这个问题搁置了一段时间,因为随着时间的推移,这里的同事和张贴者已经在各种解决方案中找到了价值。对我自己来说,仅更新Android Studio就解决了这个问题(几个月后,这里没有任何解决方案对我有用)。
在Android Studio 2.3上,当打开“ Android Monitor”窗口(该窗口显示来自设备和仿真器的Logcat消息),然后按Ctrl+F(Cmd+F在Mac上)以显示此窗口中的“查找”搜索栏时,会发生这种情况。
当您通过启用开发人员模式的USB将三星手机连接到计算机时,也会发生这种情况,因为即使关闭Logcat窗口,三星手机通常每秒也会向Logcat发送大量调试文本。
因此,防止100%CPU使用率的解决方案是:
关闭查找搜索栏,或完全隐藏窗口。
要么
断开正在发送大量调试消息的三星电话的连接。
要么
升级到不会发生此错误的Android Studio 3。