一、Bugreport
文章 Bugreport源码篇(一) 从源码角度阐释了Bugreport,那么本文则是从实战角度来说说,如何看懂bugreport,对于通过bugreport获取到内容往往非常长,这里简单划分为19部分,先整体上简单说说每部分log的title信息。
1. 系统build相关信息
系统build信息:
- dumpstate:
date
- Build: getprop
ro.build.display.id
- Build fingerprint: getprop
ro.build.fingerprint
- Bootloader: getprop
ro.bootloader
- Radio: getprop
ro.baseband
- Network: getprop
gsm.operator.alpha
- Kernel: dump_file
/proc/version
- Command line: cat
/proc/cmdline
系统运行时间:
1 2 3 |
------ UPTIME (`uptime`) ------ up time: 00:01:53, idle time: 00:02:44, sleep time: 00:00:00 [uptime: 0.015s elapsed] |
- up time:系统运行时长
- idle time:系统空闲时长
- sleep time:系统休眠时长
- elapsed: uptime指令执行时长
2. 内存/CPU/进程等信息
下面列举bugreport结果相关项的title,其中括号中内容便是相应的命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
------ UPTIME MMC PERF (/sys/block/mmcblk0/) ------ ------ MEMORY INFO (/proc/meminfo) ------ ------ CPU INFO (top -n 1 -d 1 -m 30 -t) ------ ------ PROCRANK (procrank) ------ ------ VIRTUAL MEMORY STATS (/proc/vmstat) ------ ------ VMALLOC INFO (/proc/vmallocinfo) ------ ------ SLAB INFO (/proc/slabinfo) ------ ------ ZONEINFO (/proc/zoneinfo) ------ ------ PAGETYPEINFO (/proc/pagetypeinfo) ------ ------ BUDDYINFO (/proc/buddyinfo) ------ ------ FRAGMENTATION INFO (/d/extfrag/unusable_index) ------ ------ KERNEL WAKELOCKS (/proc/wakelocks) ------ ------ KERNEL WAKE SOURCES (/d/wakeup_sources: 1970-01-01 08:00:00) ------ ------ KERNEL CPUFREQ (/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state) ------ ------ KERNEL SYNC (/d/sync) ------ ------ PROCESSES (ps -P) ------ ------ PROCESSES AND THREADS (ps -t -p -P) ------ ------ PROCESSES (SELINUX LABELS) (ps -Z) ------ ------ LIBRANK (librank) ------ |
这里的涉及的信息较多,这里就先介绍下/sys/block/mmcblk0/
:
命令:dump_files(“UPTIME MMC PERF”, mmcblk0, skip_not_stat, dump_stat_from_fd); 输出/sys/block/mmcblk0/stat节点以及遍历/sys/block/mmcblk0/mmcblk0p/stat。
1 2 3 4 5 |
stat: 51897 32911 5984151 171690 198408 171047 29988513 2001070 0 334260 2172230 stat: read: 17845KB/s write: 1233KB/s mmcblk0p24/stat: 16 28 346 50 6 2 64 20 0 70 70 mmcblk0p24/stat: read: 3543KB/s write: 1638KB/s ... |
另外read = 512data3/data4, write = 512data7/data8。
Name | 单位 | 含义 |
---|---|---|
read I/Os | requests | 已处理的I/O读操作请求个数 |
read merges | requests | I/O读操作的合并请求个数 |
read sectors | sectors(512B) | 读取的扇区数 |
read ticks | ms | 读请求的总等待时间 |
write I/Os | requests | 已处理的I/O写操作请求个数 |
write merges | requests | I/O写操作的合并请求个数 |
write sectors | sectors(512B) | 写入的扇区数 |
write ticks | ms | 写请求的总等待时间 |
in_flight | requests | 正在处理中的I/O请求数 |
io_ticks | ms | 该块设备处于活跃态的总时长 |
time_in_queue | ms | 所有请求的总等待时长 |
3. kernel log
内核log信息,通过命令dmesg可获取