记性越来越差,除了常用的 adb 命令,现在已经处于用时查、用完忘的状态了,不如在这里做个记录,方便自己查找,本贴持续更新。
输出符 > :通过该符号可以将日志保存到本地,> 后面跟的是本地的日志保存路径。比如下面命令,将日志保存到文件 E:\log.txt 下:
adb shell logcat > E:\log.txt
logcat
-b: 筛选输出日志类型
#筛选 main 日志
logcat -b main
#筛选 system 日志
logcat -b system
#筛选 event 日志
logcat -b events
-v: 设置输出格式
#显示日志的输出时间
logcat -v time
#日志的输出时间和线程信息
logcat -v threadtime
pull
直接拖出相关文件到本地,当然也可以用来获取日志了。
比如,获取手机 data 目录下的 anr 日志到本地。
adb pull /data/anr
cat /proc/meminfo
会显示 MemTotal、MemFree、file 等信息
dumpsys meminfo
会打印出各种类型的进程已经各进程的内存占用情况
这个打印的有点多,总体情况只需要看最后几行就行。
Total RAM: 7,607,500K (status normal)
Free RAM: 4,658,462K ( 429,666K cached pss + 3,600,920K cached kernel + 0K cached ion + 627,876K free)
ION: 341,268K ( 14,972K mapped + 326,296K unmapped + 0K pools)
Used RAM: 4,371,869K (3,173,725K used pss + 1,198,144K kernel)
Lost RAM: 301,243K
ZRAM: 324,260K physical used for 1,590,760K in swap (6,291,452K total swap)
Tuning: 256 (large 512), oom 1,451,520K, restore limit 107,520K (high-end-gfx)
查看某个进程或包名对应的内存信息,比如通过微信包名查看
dumpsys meminfo pid
dumpsys meminfo package
cat /proc/进程id/oom_adj
:查看进程当前adj
主要是查看 /sys/devices/system/cpu 目录下的信息,可以进入每个 cpu 下查看各自的信息。
vangogh:/sys/devices/system/cpu $ ls
core_ctl_isolated cpu2 cpu5 cpu_boost hotplug modalias possible uevent
cpu0 cpu3 cpu6 cpufreq isolated offline power vulnerabilities
cpu1 cpu4 cpu7 cpuidle kernel_max online present
比图 cpu0 的目录下,可以查看当前频率、最高、最低频率等。
也可以直接在 cpufreq 目录下,查看整体信息。
最大频率
vangogh:/ $ cat sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq
1804800
2208000
2400000
范围
vangogh:/ $ cat sys/devices/system/cpu/cpufreq/policy*/scaling_available_frequencies <
300000 576000 614400 864000 902400 1363200 1516800 1651200 1804800
652800 940800 1094400 1478400 1728000 1900800 2092800 2208000
806400 1094400 1401600 1766400 1996800 2188800 2304000 2400000
cpu 分组
#后台系统进程
vangogh:/ $ cat /dev/cpuset/system-background/cpus
0-3
#后台进程
vangogh:/ $ cat /dev/cpuset/background/cpus
0-2
#前台进程
vangogh:/ $ cat /dev/cpuset/foreground/cpus
0-2,4-7
#
vangogh:/ $ cat /dev/cpuset/top-app/cpus
0-7
#
vangogh:/ $ cat /dev/cpuset/restricted/cpus
0-7
查看 flash 类型
下面两个命令,如果对应有输出的话,则为该类型的 flash
#是否为 emmc
ls -l sys/class/block |grep mmc
#是否为 ufs
ls -l sys/class/block |grep sda