获取cpu和内存使用一段时间

时间:2018-04-11 10:58:54

标签: android shell performance-testing

我有一些旧的shell脚本需要在Android设备上执行,但获取总cpu,内存和交换使用率的命令是最重要的。更具体的是:

top -m 1 -d 1.0 -n $duration

现在我一直在寻找替代品,我发现我可以使用dumpsys。我的问题是我想要给出这样的超时:

dumpsys -t 20 cpuinfo

我查看了这个网站:https://developer.android.com/studio/command-line/dumpsys.html但是没有找到为什么这不起作用。即使我尝试帮助我也会得到同样的错误

dumpsys --help
Can't find the service: --help

有人知道发生了什么事吗?我的当前Android版本是6.0.1,如果这很重要。

提前致谢!

2 个答案:

答案 0 :(得分:0)

dumpsys --help确实无效。我认为他们的文件中存在错误。但是,下面有效:

# adb shell dumpsys input
# adb shell dumpsys -l

答案 1 :(得分:0)

在您的清单“android.permission.DUMP”上添加权限.or 还有另一种(hacky)方法可以在不使用设备的情况下访问dumpsys - 通过adb shell。

这将需要允许USB调试,并找到adb服务的端口。

在您的设备上启用USB调试。此选项位于“设置” - >下。开发者选项。

将您的设备连接到PC,然后从PC的shell /命令行运行以下命令:adb tcpip 12345.然后,从您的设备shell,从您的应用程序发出命令adb connect localhost:12345。您现在可以断开设备与USB的连接。或者,您可以使用adb connect localhost:逐个扫描设备上的端口,无需USB连接,并找到adb服务正在侦听的端口。

如果出现提示,请从弹出确认对话框中授权USB调试。选中“始终”复选框,不再需要此步骤。

现在,当您有权访问adb服务时,请使用应用程序代码中的adb shell dumpsys ...来获取所需的任何服务转储。