- 一、创建虚拟内存
在实际开发中发现swap交换分区不够用了,于是需要创建虚拟内存来增加交换分区的大小。
- 在系统空闲空间位置创建swap虚拟内存专用文件夹
cd /data //切到你想要创建交换分区的目录
mkdir swap //新建文件夹swap
cd swap //进入swap文件夹
备注:由于内存不够,我们是从外接的硬盘设备来增加交换分区的,所以此处的/data目录其实就是硬盘的挂载目录。
- 设置需要的虚拟内存参数(不能大于剩余空间,也不宜取过大,否则容易执行失败,可以先用 df -h 看一下剩余空间大小)
dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
用到的参数如下:
if=文件名:输入文件名,默认为标准输入。即指定源文件。
of=文件名:输出文件名,默认为标准输出。即指定目的文件,如果需要指定外接设备,指定到挂载目录即可。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
sudo dd if=/dev/zero of=swapfile bs=1M count=32768
//相当于创建 1MB*32768 = 1024MB*32 = 32GB 的虚拟内存空间swapfile
//我的硬盘大小为2T,我随意设置了32GB虚拟内存
//此条命令执行时间可能较长,空间开的越大需要时间越久,请耐心等待
生成并激活虚拟内存文件,如果遇到权限问题,按照提示更改权限即可。sudo mkswap swapfile //生成swap文件
sudo swapon swapfile //激活swap文件
二、配置为永久生效
① 打开fstab文件按下面所述更改后就可以在重启后依然生效虚拟内存空间,否则此次操作是临时虚拟内存,在下次开机后虚拟内存不会启动,但是swap的空间依然存在于文件夹位置,不用再重新生成。
进入到/etc/fstab配置文件
在fstab文件中最后一行写入 (ctrl+x退出文件,ctrl+o保存文件)
/data/ swap/swapfile swap swap defaults 0 0
查看增加后的结果
三、删除虚拟内存及文件
① 卸载运行中的虚拟内存
cd /data/swap/
sudo swapoff swapfile
//转至swap目录
//卸载虚拟内存
② 删除虚拟空间配置文件
桌面版用户可以直接在 /data 目录下找到 swap 文件夹,直接删除即可。
服务器用户可执行以下命令删除(使用rm命令务必看仔细后删除,没有恢复!!!)
sudo rm -rf /data/swap
//删除swap文件夹
③ 完全删除 fstab 文件中之前添加的 /data/swap/swapfile swap swap defaults 0 0 行即可。