首先,Android自带的Latencytop工具和Linux下的Latencytop有点不同。
· 在Linux中
Latencytop通过在内核上下文切换的时候,记录被切换的进程的内核栈,然后通过匹配内核栈的函数来判断是什么原因导致上下文切换,同时他把几十种容易引起切换的场景的函数都记录起来,这样在判断系统问题的时候能容易定位到问题。
· 在Android中
Latencytop仅仅记录被切换的进程的内核栈,打印出导致上下文切换的函数名称。
其次,如果不做任何配置,在Android命令行环境中,输入latencytop的效果如下:
# latencytop
latencytop
Could not open /proc/sys/kernel/latencytop: No such file or directory
Could not open /proc/sys/kernel/latencytop: No such file or directory
开启如下config:
1 CONFIG_HAVE_LATENCYTOP_SUPPORT=y 2 CONFIG_LATENCYTOP=y
关闭如下config:
1 CONFIG_SOUND=n
1 # latencytop 2 3 Latencies across all processes: 4 Maximum Average Count Reason 5 117.18 ms 117.18 ms 1 vm_mmap_pgoff 6 107.42 ms 107.42 ms 1 __access_remote_vm 7 9.76 ms 9.76 ms 1 __lock_page_killable 8 9.76 ms 9.76 ms 2 wait_on_page_bit_killable 9 9.76 ms 9.76 ms 1 binder_ioctl 10 9.76 ms 9.76 ms 6 binder_thread_read
原文:http://www.cnblogs.com/frustrated-wish/p/4883205.html