【问题标题】:Getting cpu and memory usage for a period of time获取一段时间的cpu和内存使用情况
【发布时间】:2018-04-11 10:58:53
【问题描述】:

我有一些旧的 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。

提前致谢!

【问题讨论】:

    标签: android shell performance-testing


    【解决方案1】:

    dumpsys --help 确实不起作用。我认为他们的文件有错误。但是,以下工作:

    # adb shell dumpsys input
    # adb shell dumpsys -l
    

    【讨论】:

      【解决方案2】:

      在清单“android.permission.DUMP”上添加权限。或 还有另一种(hacky)方法可以访问 dumpsys 而无需 root 设备 - 通过 adb shell。

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

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

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

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

      现在,当您可以访问 adb 服务时,使用 adb shell dumpsys ... 从您的应用程序代码中获取您需要的任何服务转储。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-09
        • 2012-04-03
        • 1970-01-01
        • 2018-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-25
        相关资源
        最近更新 更多