关于编译时候内存不够于是建立一个swap分区

在编译QGC时显示内存不够,于是发现可以使用虚拟磁盘做一个交换分区,具体的概念如下:
swap space 是磁盘上的一块区域,可以是一个分区,也可以是一个文件。所以具体的实现可以是 swap 分区也可以是 swap 文件。当系统物理内存吃紧时,Linux 会将内存中不常访问的数据保存到 swap 上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问 swap 上存储的内容时,再将 swap 上的数据加载到内存中,这就是常说的换出和换入。交换空间可以在一定程度上缓解内存不足的情况,但是它需要读写磁盘数据,所以性能不是很高。

这是推荐的交换分区的代销

进入正题:接下来会用两种方法来说明

一、使用新建一个磁盘作为一个虚拟内存的交换空间

1.    先新建一个磁盘,关闭虚拟机,然后在VM上设置,添加一个硬盘,我给的大小是5G

2.    接下来,在linux中输入:fdisk -l可以查看到有新的硬盘sdb

3.    用fdisk /dev/sdb创建一个主分区作为交换分区,并赋予ID为swap---82,具体方法在上一个文章

4.    格式化文件系统: mkswap /dev/sdb1(具体的分区名称)

5.    这个时候看 free -m 还是Swap的空间,这个时候要启动 输入:  swapon /dev/sdb1    在用:free -m发现有大小了,成功了

6.在/etc/fstab中设置开机自启动, 添加: /dev/sdb1    swap    swap    defaults    0    0

二、使用文件构造swap

1.    可以创建一个目录 mkdir /opt/images,自己定义的一个路径

2.    使用:dd if=/dev/zero of=/opt/images/swap bs=1024 count=4096000(这里我创建的是4G的内存)

3.    格式化文件系统: mkswap/opt/images/swap    

4.   启用交换分区: swapon/opt/images/swap

5.    要想自启动,也是在/etc/fstab下添加:/opt/images/swap    swap    swap    defaults    0    0

6.    如果不想用了,怕影响性能想关闭可以:#swapoff swap
                                                                        #rm-f/opt/images/swap

注意这里所使用到的空间是用本地磁盘空间

你可能感兴趣的:(关于编译时候内存不够于是建立一个swap分区)