为了减少购买昂贵的内存资源,可以暂时使用虚拟内存代替
1 查看内存使用情况
free -m
1 | root@supermap:/swap# free -m |
虚拟内存空间竟然为0,实在是没有想到!!!
2 创建虚拟内存磁盘卷
创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小),如下面是2G
1 | dd if=/dev/zero of=/root/swapfile2 bs=1M count=2048 |
修改文件权限,如不修改,在启用swap文件的时候会提示下面信息(不影响使用,建议修改)
1 | chmod 0600 /root/swapfile2 |
3 将磁盘卷转为虚拟内存卷
1 | mkswap /root/swapfile2 |
4 启用虚拟内存服务
1 | swapon /root/swapfile2 |
5 查看内存使用情况
1 | root@supermap:/swap# free -m |
6 关闭虚拟内存服务
1 | swapoff -v /swap/swapadd |
7 移动虚拟内存空间
如果当前的虚存所在的磁盘空间不够,可以首先关闭虚存服务,将其移动到别的磁盘,再启用即可。
1 | swapoff -v /swap/swapadd |
系统开机时自启用
在文件/etc/fstab中添加一行
1 | vim /etc/fstab |
调整swap空间使用的优先级
如果内存够大,应当告诉 linux 不必太多的使用 SWAP 分区, 可以通过修改 swappiness 的数值。
swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。各个操作系统的优先级可能都不一样,如果不调整,你会发现添加的虚拟内存几乎没有用到
1 | 查看当前swappiness值 |
永久修改swappiness默认值(重启生效)
1 | vim /etc/sysctl.conf |