linux增加swap空间的方法小结 |
您所在的位置:网站首页 › Linux的swapfile › linux增加swap空间的方法小结 |
起因及背景
近期编译AOSP(android 10.0)是总是遇到内存溢出,查了半天,无果。猜测增加下swap空间大小是否能解决,随即尝试下,果然是如此。 当然,还有其他作法,比如直接增加主机的内存(硬件方案)。 我的系统是Ubuntu 18.04。 Linux下swap空间大小通常在安装系统时设置swap分区时预设的,不过系统提供了添加或改动swap分区的命令。 涉及的命令 free:查看内存状态命令,可以显示memory、swap、buffer/cache等的大小及使用状况; dd:读取,转换并输出数据命令; mkswap:设置交换区 swapon:启用交换区,相当于mount swapoff:关闭交换区,相当于umount 查看swap空间大小通过查看内存状态命令free可以获得swap空间大小,正常状况下可使用以下三个命令之一: free free -m free -h 比如下面是free -h在我主机上的输出: $ free -h total used free shared buff/cache available Mem: 13G 3.5G 2.7G 367M 7.4G 9.4G Swap: 11G 126M 11G 关闭所有交换分区命令如下: swapoff -a 通过swap分区文件增加swap空间 1. 创建swap分区的文件dd if=/dev/zero of=swapfile bs=1M count=1024 其中bs是每块的大小,count是块的数量;bs*count,就是swap文件的大小:这里1M*1024=1G。可以根据需要自行调整。 此外,swapfile是swap文件的路径,可以根据需求修改。 2. 格式化交换分区文件mkswap swapfile 这里的路径和之前的路径要对应起来。 3. 启用swap分区文件swapon swapfile 4. 添加开机启动修改/etc/fstab这个文件,添加或者修改这一行: swapfile swap swap defaults 0 0 注意,路径还是要对应,而且必须是全路径。最后两个是零,不是大写字母O。 此项不是必须的。如果不修改开机启动配置,重启之后的swap空间会重置,之前配置丢失。 通过新建分区来扩展原有swap空间这个是Linode的默认做法,这里也介绍一下。此方法与swap文件类似,只是使用了一个独立分区,而不是文件。 使用fdisk创建交换分区(假设是 /dev/sdb2) 使用mkswap设置交换分区: mkswap /dev/sdb2 启用交换分区 swapon /dev/sdb2 修改/etc/fstab添加到开启启动项: /dev/sdb2 swap swap defaults 0 0 小结本文简单介绍了在Linux如何实现swap空间的增大,主要使用了swapon/swapoff/free等命令,仅供后续参考。 参考资料 Linux教程:VPS查看、修改、新增SWAP分区的大小 linux使用文件增加swap空间 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |