简介
当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况
SWAP意思是交换,顾名思义,当某进程向OS请求内存发现不足时,OS会把内存中暂时不用的数据交换出去,放在SWAP分区中,这个过程称为SWAP OUT。
当某进程又需要这些数据且OS发现还有空闲物理内存时,又会把SWAP分区中的数据交换回物理内存中,这个过程称为SWAP IN
注:条件允许,能不用swap就不用,毕竟磁盘IO和内存读取不是一个数量级,几乎所有数据库对swap都不怎么待见,无论MySQL、Oracal、MongoDB抑或HBase
操作
/etc/sysctl.conf 里面可以控制使用vm.swappiness = 0
控制换出运行时内存的相对权重,参数值大小对如何使用swap分区有很大联系。值越大,表示越积极使用swap分区,越小表示越积极使用物理内存
查看当前配置 cat /proc/sys/vm/swappiness
检查
swapon -s
创建
4G 大小dd if=/dev/zero of=/swapfile bs=1024 count=4194304
- 参数说明
if=文件名:输入文件名,缺省为标准输入。即指定源文件
of=文件名:输出文件名,缺省为标准输出。即指定目的文件
bs=bytes:同时设置读入/输出的块大小为bytes个字节
count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数
格式化
mkswap /swapfile
打开激活
swapon /swapfile
永久生效还需修改 /etc/fstab 文件
添加: /swapfile swap swap defaults 0 0
下一次系统启动时,新的swap文件自动开启
free 命令检查swap
更改权限chown root:root /swapfile
chmod 0600 /swapfile
删除
swapoff /swapfile
卸载swap文件
修改/etc/fstab文件 从配置总删除rm -rf /swapfile
删除文件