Swap介绍:
Linux 将物理内存分为内存段,叫做页面。交换是指内存页面被复制到预先设定好的硬盘空间(叫做交换空间)的过程,目的是释放对于页面的内存。物理内存和交换空间的总大小是可用的虚拟内存的总量。
Swap即:交换分区,类似于Windows的虚拟内存,但物理内存不足时,把部分硬盘空间当成虚拟内存使用,从而解决了物理内存容量不足。
优点:节省成本。
缺点:性能不足。
此方法不局限于Centos 7,Linux系统均可使用。
操作用户:root。
操作步骤:
//查看swap和内存容量
free -h 或者 free -m
方法一:默认做法
如果一开始有swap分区且比较小,需要调整的话第一步是删除所有SWAP分区
1.删除所有SWAP分区
swapoff -a
2.新增SWAP分区
dd if=/dev/zero of=/root/swapfile bs=1M count=1024
其中 bs是每块的大小,count是块的数量,bs*count,就是swap文件的大小了,这里就是1M*1024=1G。大家可以自己调整count的数量。
此外,/root/swapfile是swap文件的路径,可以根据需求修改。
3.格式化交换分区文件
mkswap /root/swapfile
4 .添加开机启动
修改 /etc/fstab 这个文件,添加或者修改这一行:
/root/swapfile swap swap defaults 0 0
注意,路径还是要对应。最后两个是零,不是欧。
现在已经完成设置了,可以再次使用free -h 查看信息。
方法二
同样,如果一开始有swap分区且比较小,需要调整的话第一步是删除所有SWAP分区
1.删除所有SWAP分区
swapoff -a
2.使用fdisk创建交换分区
使用 mkswap 设置交换分区(假设是 /dev/sdb2):
mkswap /dev/sdb2
3.启用交换分区:
swapon /dev/sdb2
4.添加开机启动 vi/etc/fstab:
/dev/sdb2 swap swap defaults 0 0
好了,到此完成操作。
移除SWAP方法:
1.停止swap分区
停止所有swap分区
swapoff -a
停止正在使用的swap分区:
swapoff /root/swapfile
2.删除swap分区文件
rm -rf /root/swapfile
3. 修改文件 /etc/fstab
vi /etc/fstab 将以下下开机自动挂载内容注释或删除:
/root/swapfile swap swap default 0 0
大功告成!
free查看到的total并不是真实内存大小,内存分配是linux自动计算完成的,各云服务商都是使用开源的linux内核,这个不是异常,属于linux内存分配的机制,free 查看到的是可用内存大小。
附上CentOS7查看内存命令:
dmidecode |grep -A16 "Memory Device$"