参考1、参考2
本文章仅作个人参考之用,恕才疏学浅,作者对文章内容不负责;
目标
为解决内存不足的问题,将一部分硬盘空间当作内存之用;
配置
- 确定设置,输入
:~# free -m
,返回值中swap行若为 0 0 0 则说明没有设置虚拟内存;
1 2 3
| total used free shared buff/cache available Mem: 1983 658 469 27 854 1124 Swap: 0 0 0
|
- 通过
:~# cd /
进入根目录,:/# mkdir swap
新建一个名为swap的文件夹,:/# cd swap
进入该文件夹;
- 此文件夹内输入
:/swap# dd if=/dev/zero of=swapfile bs=1024 count=1048576
以创建交换分区文件,其中bs是分块的大小(单位为B),count为分块的个数(交换分区建议大小详见参考2);有返回内容如下
1 2 3
| 1048576+0 records in 1048576+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 7.56452 s, 142 MB/s
|
- 输入
:/swap# sudo mkswap swapfile
将生成的文件转换为swap文件;有返回内容如下
1 2 3
| mkswap: swapfile: insecure permissions 0644, 0600 suggested. Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
- 输入
:/swap# sudo swapon swapfile
激活swap文件;有返回内容如下
1
| swapon: /swap/swapfile: insecure permissions 0644, 0600 suggested.
|
- 此时输入
:/swap# free -m
则可以观察到虚拟内存已开启;
1 2 3
| total used free shared buff/cache available Mem: 1983 658 73 27 1250 1118 Swap: 1023 0 1023
|
- 为了设置系统启动时自动开启swap,我们需要编辑fstab文件,用编辑器打开该文件
:/swap# sudo vim /etc/fstab
- 在最后一行加入
/swap swap defaults 0 0
后保存并退出;
删除
- 在swap目录下,执行
:/swap# sudo swapoff -v swapfile
,有返回内容如下
- 在fstab文件中删除相关行;
- 删除swap文件夹
/# rm -rf swap
;