最近在做应用的优化,用到了top命令。Android的top命令非常有限:
Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ]
-m num Maximum number of processes to display.
-n num Updates to show before exiting.
-d num Seconds to wait between updates.
-s col Column to sort by (cpu,vss,rss,thr).
-t Show threads instead of processes.
-h Display this help screen.
-m: 显示的最多进程数,做优化时一般只关心CPU占用率最高的几个进程,那么只需要top -m 3或top -m 5就好了,以免top命令的输出太多
-n:显示n次top的结果后命令就会退出
-d:更新的时间间隔,默认是每隔3s更新下状态,top -d 0时会持续地输出,不过很占CPU。
-s:选择根据某项(cpu,vss,rss,thr)来排序
-t: 显示线程而非进程
-h:显示帮助信息
优化中需要了解各个CPU利用率,以评估程序的多线程并行性。但Android系统的top缺少了统计各个CPU利用率的功能,我还在寻找是否有其他的方法。