模拟2个用户同时登陆一个4核心处理器的电脑进行Android编译,编译选项make -j8,CPU配置如下:

bhsong@SHA-IT-Lintester01:~/workspace/android/kernel$cat /proc/cpuinfoprocessor         :0vendor_id         :GenuineIntelcpu family         :6model                :37model name     :Intel(R) Core(TM) i3 CPU        550  @ 3.20GHz processor         :1vendor_id         :GenuineIntelcpu family         :6model                :37model name     :Intel(R) Core(TM) i3 CPU        550  @ 3.20GHz processor         :2vendor_id         :GenuineIntelcpu family         :6model                :37model name     :Intel(R) Core(TM) i3 CPU        550  @ 3.20GHzprocessor         :3vendor_id         :GenuineIntelcpu family         :6model                :37model name     :Intel(R) Core(TM) i3 CPU        550  @ 3.20GHz

如果模拟 2 个用户同时登录服务器并且同时编译 Android ,我们分析一下 CPU 和磁盘利用率,如下图:


我们可以看出CPU的利用率保持在100%几乎不动(绝大多数时间在userspace运算而非进入kernel系统调用),而磁盘的占用率依然非常低,不超过10%

基本可以看出由于受限于编译过程中等待CPUMakefile的同步,Android编译过程中对IO的需求不大(或者此案例无法发挥),基本在1MB以内或者1MB左右徘徊。


到编译的后期阶段,主要工作变成了将编译结果拷贝到out目录,则呈现出IO需要增大的趋势,不过到install阶段,CPU利用率依然很高:


另外,也考察了一下内存的情况,这个编译电脑的内存是12G左右,2个用户编译几乎没有达到满载,看到的高峰时段如下:

bhsong@SHA-IT-Lintester01:/proc$ free            total      used       free    shared    buffers     cachedMem:      12255168  11840396     414772         0     654472    5788252-/+ buffers/cache:   5397672    6857496Swap:      4050940       5256   4045684
我们看到swap的使用情况很低,意味着内存尚为成为瓶颈要求磁盘虚拟内存,高峰时段free的memory一直都存在(高峰时段还剩下400MB),其中耗掉的内存中有多达6GB左右也是做文件系统cache用在,实际hold住的内存大概5.5GB。

由此,对于Android编译而言,选择高档CPU如16核心是重要需求,IO和内存不是主要的瓶颈。


更多相关文章

  1. linux ,Android基础知识总结
  2. Android(安卓)JNI编程内存问题定位方法
  3. Android图形库Skia(一)-基本测试生成PNG图片
  4. android直接找一个文件,部分编译等实用
  5. Android(安卓)CTS 测试总结【转】
  6. android 使用openCV编译.so库
  7. Ubuntu11.04 Android编译时遇到 cannot find -lncurses错误解决
  8. android 进程内存查看
  9. Android(安卓)NDK环境搭建(Windows环境)

随机推荐

  1. Android(安卓)手机震动
  2. 动态设置 view 宽高
  3. 提供一些Android免费课程分享给大家
  4. Android(安卓)OpenGL例子学习
  5. 在AndroidManifest.xml文件中的android:w
  6. android获取短信所有内容
  7. Android: 系统默认音量
  8. Android逆向分析常用网站
  9. Android中常用的Intent.Action整理
  10. android(2.0以后版本) 中读取联系人和通