Android adb from work ---three

转接from work --two

0、查看Android的物理存储空间df

adb shell df -h 表示以MB单位查看存储使用情况

1、在Android设备中创建指定大小的文件(也能测试其IO性能)

adb shell dd if=/dev/zero of=/sdcard/file.img bs=4294967295 count=1

dd:指定转换或复制文件 ; if:源文件 ; of:目标文件 ; bs:块的大小(最大为4294967295,即2G); count:块的数量

2、监控内存使用状况的命令free

adb shell free -m 表示以MB单位查看内存使用情况

Android adb from work ---three

*total:物理内存的总大小             *used:已使用的物理内存大小

*free:可用的物理内存大小           *shared:多个进程共享的内存值

*buffers/cache:磁盘缓存的大小

注:缓冲区(buffer)与缓存(cache):缓冲区用来缓冲块设备,只记录文件系统的元数据以及跟踪瞬时页面,而缓存用来给文件做缓冲。

3、监控系统进程命令top

adb shell top -h 查看top命令帮助

Android adb from work ---three

4、查看系统各种资源之间相关性能简要信息(查看帮助 adb shell vmstat -h)

adb shell vmstat 2  表示每2秒更新一次输出信息(输出结果如下图:

Android adb from work ---three

*procs : 列表示运行和等待CPU时间的进程数,如果值长期大于CPU个数,说明CPU不足。

   列表示在等待资源的进程数,比如正在等待I/O或者内存交换等

*memory : swpd 表示切换至内存交换区的内存数量(以KB为单位)。如果值不为零,或者比较大,只要si、so

     的值长期为零,就不需要担心,不会影响性能。

   free 表示当前空闲的物理内存数量

   buff 表示缓冲区缓存的内存数量,一般对块设备的读写才需要缓冲。

   cache 表示页面缓存的内存数量,一般作为文件系统缓存,频繁访问的文件都会被缓存,如果cache值

    较大,说明缓存的文件数较多,如果此时I/O中的bi比较小,说明文件系统效率比较好。

*swap : si 表示内存进入内存交换区的数量;  so 表示内存交换区进入内存的数量

    一般情况si、so的值都为0,如果值长期不为0,则表示内存不足。

*io 显示磁盘读写状况:

    bi 表示从块设备读入数据的总量(即块读磁盘 KB/s) ;

    bo 表示从块设备写入数据的总量(即写磁盘)

*system 显示采集间隔内发生的中断次数:

    in 表示在某一时间间隔中观测待的每秒设备中断次数

    cs 表示每秒产生的上下文切换次数

    in和cs的值越大,会看到内核占用CPU的时间越多

*cpu 显示了CPU的使用状态:

    us 显示用户进程占用CPU的时间百分比。us的值高,说明用户占用CPU的时间多,但如果长期大于

    50%,就需考虑优化程序或算法。

    sy 显示内核进程占用CPU的时间百分比,sy值较高,说明内核消耗的CPU资源很多。

    id 显示CPU处在空闲状态的时间百分比。

    wa 显示I/O等待占用CPU时间百分比。wa值越高,说明I/O等待越严重;若wa超过20%,说明I/O等待

    严重。

    

    

上一篇:利用Backtrace来捕获段错误堆栈信息


下一篇:c语言函数的可选性自变量