Linux swap交换分区(即虚拟内存),简单讲就是用户打开程序时,如果内存不够,会转到Swap中挂起,当内存空缺时在继续执行,下面是详细介绍。当用户提交程序,然后产生进程在机器上运行。机器会判断当前物理内存是否还有空闲允许进程调入内存运行,如果有则直接调入内存进行;如果没有,则会根据优先级选择一个进程挂起,把该进程交换到swap中等待,然后把新的进程调入到内存中运行。根据这种换入和换出,实现了内存的循环利用,让用户感觉不到内存的限制。从这也可以看出swap扮演了一个非常重要的角色,就是暂存被换出的进程。
swap文件大小,官方建议是2到4.5GB,swap一般是内存的1.5倍,超4GB可以不用。
1、swapon -s 和cat /proc/swaps 查看swap,可用free -m 查看是否开启
2、创建 Swap 文件,下面使用 dd 命令来创建 Swap 文件。
dd if=/dev/vdb1 of=/www/swap bs=1024 count=4194304
参数说明
if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
bs=bytes:同时设置读入/输出的块大小为bytes个字节
count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。
3、创建Swap文件,需要格式化后才能使用。运行命令:
mkswap /www/swap
4、激活 Swap ,运行命令:
swapon /www/swap
5、用 vim 打开 /etc/fstab 文件,在其添加如下一行:
/www/swap swap swap defaults 0 0
6、最后,赋予 Swap 文件适当的权限:
chown root:root /www/swap
chmod 644 /www/swap
7、删除SWAP分区
swapoff /www/swap #卸载swap文件
rm -rf /www/swap #删除文件
修改/etc/fstab文件 #从配置总删除
注:如果要移动/www,需要先删除/www/swap文件。