获取一段时间内的 CPU 和内存使用情况



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

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

提前感谢!

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

# adb shell dumpsys input
# adb shell dumpsys -l

在清单"android.permission.DUMP"上添加权限。 还有另一种(黑客)方法可以在不生根设备的情况下访问 dumpsys - 通过 adb shell。

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

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

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

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

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

最新更新