为什么adb的CPU使用率很高?

时间:2011-04-18 12:24:09

标签: android cpu-usage adb

我正在使用我的T61笔记本电脑来开发Android应用程序。使用adb start-server启动调试桥的服务器会创建一个以100%CPU运行的进程,请参阅ps的输出:

stephan 19837 99.3 0.0 19952 908 pts/0 Sl 13:50 3:42 adb fork-server server

这很烦人,特别是因为带有ADT插件的eclipse会自动启动此服务器(并且会出现同样的问题)。我正在运行Ubuntu Natty,但在Maverick和Debian sid下也是如此。我确定在Ubuntu刚刚安装在笔记本电脑上后没有出现这个问题,但几天后就开始了。我注意到的是,adb无法识别在adb运行时连接到计算机的设备。如果我使用未识别的设备重新启动服务器,则在重新启动后会识别它。也许这是相关的?

正如我所说,它安装在T61笔记本电脑上,使用Ubuntu 11.04 Natty 64bit和32bit内核2.6.38-8-generic,但它也出现在Ubuntu 10.10 32bit上,带有最新的PAE内核,并且在Linux上Mint 10 64bit具有相同的(?)内核版本,在aptosid 64bit上也有一些2.6.38内核。我用于测试的设备是G1,Nexus(1)和Samsung Spica。它与连接的设备无关。我的udev规则已被修改,以便正确地对这些设备进行编码。我还有一台运行Ubuntu 10.10 64bit的台式机,这种情况不会发生。

In this bug report声称(a)内核版本更改确实解决了这个问题,这对我不起作用,以及(b)需要root权限访问设备的过程。我想在不使用手机的情况下解决这个问题,特别是因为这会出现连接到计算机的多个不同手机型号。


编辑:请注意我已经没有那台笔记本电脑了,直到我摆脱它之后我无法解决问题。在我的新电脑上,问题不会发生。因此,我无法检查任何解决方案的有效性,因此无法将解决方案标记为已接受。 (我应该关闭这个问题吗?或者StackOverflow处理这种情况的首选方法是什么?)

3 个答案:

答案 0 :(得分:0)

iMac 9,1 Ubuntu 10.10上的同样问题。

adb fork-server服务器将cpu的一个核心保持在90-100%

在我的情况下没有电源/暂停/恢复可能的问题。 我刚刚开机后就开始了日食。

通过以下步骤“解决”: 关闭电源,启动eclipse,插件设备(或启动模拟器)

答案 1 :(得分:0)

我仍然面临这个问题,我发现导致问题的是firefox扩展。通过

获取adb流程的pid

$ ps aux | grep adb

然后通过

获取实际的可执行细节

$ ls -l / proc / $ PID / exe

您将获得adb流程详细信息。在我的情况下,输出是。

prabhat @ paradise~ $ ls -l / proc / 16695 / exe 1月2日21:02 / proc / 16695 / exe - > /home/prabhat/.mozilla/firefox/c05prhhc.dev-edition-default/extensions/adbhelper@mozilla.org/linux64/adb

我只是删除了extensions文件夹,因为我目前没有使用它...

答案 2 :(得分:-1)

我遇到同样的问题并通过重新启动来解决问题,直到ADB正常工作。

我注意到以下情况可能会有所不同:

  • 在开始日食之前插入你的手机(这反过来开始ADB)。
  • 关闭计算机并将其关闭一分钟而不是重新启动。

对我来说,如果我的电脑无法从暂停状态返回,则经常会出现问题。然而,这可能只是因为我从不重启我的笔记本电脑(苹果MBP),除非发生这种情况。我暂停并恢复。我发现暂停/恢复很好。这不会影响ADB。

我也是那个在关于回滚内核版本的bug报告中发表评论的人。但是,我发布了另一条评论,表明这没有任何区别。那段时间我一定很幸运。

另一个有趣的观点。我还有一台从未出现过ADB问题的台式机。但是,我对那台机器上的更新很保守,因为我不想在那里发生这个问题。

我推测这可能是ubuntu / debian中的ACPI或省电相关错误。我从不暂停我的台式机。

相关问题