wubi安装ubuntu后,终端输入free -m可以查到如下信息:

             total       used       free     shared    buffers     cached
Mem: 1944 1801 143 0 557 706
-/+ buffers/cache: 536 1407
Swap: 255 7 248

也即内存为2G,虚拟内存为256M,这太小了尤其是编译android源码的时候。因此将其增加到1G大小。具体步骤是:

1,新建/swap文件夹。然后cd进去,终端输入:sudo dd if=/dev/zero of=swapfile bs=1024 count=1000000

sudo dd if=/dev/zero of=swapfile bs=1024 count=1000000

最后的count就是虚拟内存的大小,后面有6个0,前面是1,表示1G. 坑爹的文档http://www.hx95.com/Article/Tech/201205/55661.html后面只有5个0还说表示1G. 稍等约1分钟看到如下信息:

记录了1000000+0 的读入
记录了1000000+0 的写出
1024000000字节(1.0 GB)已复制,27.2124 秒,37.6 MB/秒

2,这个时候在swap目录下就生成了swapfile文件。终端输入:du -h swapfile 可以查看生成的文件swapfile大小为977M.

yan@ubuntu:/swap$ du -h swapfile
977M swapfile

约等于1G.

接下来需要将swapfile转换成Swap文件,终端输入:sudo mkswap -f  swapfile  (mkswap是命令,后面的swapfile是swap文件夹下新生成的文件名字)

yan@ubuntu:/swap$ sudo mkswap -f swapfile
Setting up swapspace version 1, size = 999996 KiB
no label, UUID=a1363520-df39-4cdf-9e99-198fdf1eb17c

3,
激活swap文件

终端输入:sudo swapon swapfile(swapon是命令,swapfile是文件名字)

然后再输入 free -m可以看到:

yan@ubuntu:/swap$ free -m
total used free shared buffers cached
Mem: 1944 1808 135 0 511 758
-/+ buffers/cache: 538 1405
Swap: 1232 7 1224

Swap的大小1232 = 255(原来的) + 977 (新增加的)

如果要修改或者删除这个swapfile文件,需要先卸载这个swapfile。进入到swap目录,然后终端输入:sudo sawpoff swapfile,这就卸载了。swapfile文件就可以删除了,否则会提示正在使用或忙 无法删除。

如果要一直保持这个新增的swap,通过切换到root,gedit /etc/fstab, 在里面增加一句:/swap/swapfile none swap defaults 0 0 。关于这句话,参考1的命令是/swap/swapfile none swap defaults 0 0,参考2的命令/swap/swapfile /swap swap defaults 0 0。个人觉的第二个参数表示原来系统的swap文件夹,如果原系统没有swap文件夹,则用参考1里的命令。如果原系统本来就有/swap文件夹了,也即本来就有swap空间然后又新增加了一个,就用参考2的命令。 Ubuntu12.04上原本没有/swap文件夹,因此用参考1的命令。

参考:1,http://blog.csdn.net/mznewfacer/article/details/7334592

2,http://www.linuxidc.com/Linux/2010-09/28915.htm

另外,注意上面新建swap使用后,现有swap是两者之和。http://www.blogjava.net/zygcs/archive/2011/09/02/357845.html这里的方法大同小异,只不过是先cd /host/ubuntu/disks/  可以看到有个swap.disk, 利用du -h swap.disk查看大小为255M,然后sudo swapoff swap.disk取消使用这个系统自带的交换空间。然后删除掉,通过以下步骤:

4. sudo dd if=/dev/zero of=swap.disk bs=1M count=1k (创建1G的swap, 这步比较慢)
5. sudo mkswap -f swap.disk
6. sudo swapon /host/ubuntu/disks/swap.disk (这步更慢,大概1分钟不到)

这是在/host/ubuntu/disks/目录下创建的,名字为swap.disk. 本质是一样的。 再就是创建swap时大小是bs*count,如果bs=1M 则count =1k表示1G,如果bs=1024, count=1000000 表示1G,我觉的前者更精确。

接下来是优化swap的使用参数,linux里有个参数swappiness。当值为0时最大限度的使用物理内存,物理内存使用完后再使用swap内存。为100时,最大限度的使用swap,并将内存中的数据也要搬到swap里处理,这是两个极端。默认的参数是60,根据这里将其改为10较优。步骤如下:

1,查看当前的swappiness

终端输入:cat  /proc/sys/vm/swappiness

2.修改swappiness值为10
$ sudo sysctl vm.swappiness=10
但是这只是临时性的修改,在你重启系统后会恢复默认的60,所以,还要做一步:
$ sudo gedit /etc/sysctl.conf
在这个文档的最后加上这样一行:
vm.swappiness=10
然后保存,重启。ok,你的设置就生效了。你会发现,现在乌斑兔儿跑得更快了!

wubi安装ubuntu后,增加swap大小,优化swap的使用参数-----------让ubuntu健步如飞,为编译android源码准备的更多相关文章

  1. Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决

    昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...

  2. Ubuntu编译Android源码过程中的空间不足解决方法

    Android源码一般几十G,就拿Android5.0来说,下载下来大概也有44G左右,和编译产生的文件以及Ubuntu系统占用的空间加起来,源码双倍的空间都不够有.编译源码前能分配足够的空间再好不过 ...

  3. 【转】在Ubuntu下编译Android源码并运行Emulator

    原文网址:http://www.mcuos.com/thread-4553-1-1.html 建立编译环境 1.在VirtualBox上安装Ubuntu 2.安装JDK   $ sudo apt-ge ...

  4. 【转】ubuntu 11.10(32位系统)下编译android源码

    原文网址:http://www.cnblogs.com/dwayne/archive/2011/11/16/2251734.html 本文介绍在ubuntu 11.10系统下编译android 2.3 ...

  5. ubuntu 编译android 源码笔记

    已经验证,可以编译成功.过程中会碰到一些编译错误,安装好依赖环境,可以解决. 1.splite压缩包的合并,解压缩,md5验证 http://pan.baidu.com/s/1bnG1NtX kitk ...

  6. ubuntu 编译android源码

    1.https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/                                   清华大学Android 镜像使用 ...

  7. Ubuntu编译Android源码步骤

    Android4.4源码编译 需要准备以下文件: 源码包名:x4412_kitkat_rtm.tar.bz2 Jdk版本为jdk1.6.0_27 gcc 4.4 g++ 4.4 第一步:安装Ubunt ...

  8. Ubuntu(64位)编译Android源码常见错误解决办法

    2013年07月10日 14:47:27 阅读数:1239 错误: /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file ...

  9. 【转】如何定制android源码的编译选项 & 后期安装? ---- 不错

    原文网址:http://blog.sina.com.cn/s/blog_3e3fcadd0100z3o9.html Android编译过程比较长,配置起来也很麻烦.现仅就工作遇到的问题做个总结.所用硬 ...

随机推荐

  1. 常见浏览器扩展开发笔记(chrome firefox 360 baidu qq sougou liebao uc opera)

    浏览器扩展开发貌似时下很冷门啊,但是不少企业还是有类似的应用,360的抢票插件啊,笔者最近在做的网页翻译扩展之类的.笔者在开发的过程中,遇到了不少坑,说是坑,说白了就是各个厂商支持的API不统一导致的 ...

  2. c语言中实现从0-1的随机数输出

    原文:c语言中实现从0-1的随机数输出 今天晚上同学问了一个巨简单的问题,问我怎么用c语言输出0-1的随机数,可别说,一时之间还想不出来.在写的过程中发现,直接调用random函数还不能实现,用以下方 ...

  3. 王立平--string.Empty

    String.Empty 字段 .NET Framework 类库 表示空字符串.此字段为仅仅读.命名空间:System 程序集:mscorlib(在 mscorlib.dll 中) protecte ...

  4. Javascript实战开发:教你使用raphael.js绘制中国地图

    最近的数据统计项目中要用到中国地图,也就是在地图上动态的显示某个时间段某个省份地区的统计数据,我们不需要flash,仅仅依靠raphael.js以及SVG图像就可以完成地图的交互操作.在本文中,我给大 ...

  5. Java 之复合赋值运算符

    1.引入问题 切入正题,看下面代码,结果应该是怎么样的 public class App{ public static void main( String[] args ){ byte a=1 ; i ...

  6. android音乐播放器开发 SweetMusicPlayer 智能负载直插式歌词

    在一份书面的使用MediaPlayer播放音乐, http://blog.csdn.net/huweigoodboy/article/details/39862773.假设没有本地歌词怎么办?如今来将 ...

  7. 2014年3I工作室成员的正式名单

    后3I认真审议和审查工作室的老师及相关人员,今天,新成员首次正式发布,如以下:博才文(11软件).黄彩云(11软件).朱小丹(11软件).海(11软件).欧剑灵(11此计).黄思源(12软件).黄龙营 ...

  8. Android 获取截图 并将其保存到本地sd在卡路径

    /** * 获取当前屏幕和保存截图 */ private void GetandSaveCurrentImage() { //1.构建Bitmap WindowManager windowManage ...

  9. Extension Objects(扩展对象)

    设计模式之美:Extension Objects(扩展对象)   索引 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):使用示例结构实现 Extension Objects. 实现方 ...

  10. 《剑指Offer》面试题-二维数组中的查找

    题目1384:二维数组中的查找 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:7318 解决:1418 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到 ...