根据Redhat公司的建议,Linux系统swap分区最适合的大小是物理内存的1-2倍.不过Linux上有些软件对swap分区得需求较大,例如要顺利执行Oracle数据库软件,swap分区至少需要400MB或者物理内存2倍以上的空间.当然我们在安装Linux的时候,就能直接讲swap分区设置到足够的大小,但如果已经安装好Linux了,之后又想再安装类似Oracle的软件,却发现swap分区空间不够,该如何处理?
针对此种情况,有两种解决方法:一是创建新的swap分区;另一则是创建swap文件.
下面介绍创建swap文件的过程:
如果你的硬盘空间已经全部分配给其他分区,也没有多余的预算新添购硬盘,我们可以利用swap文件的方式增加虚拟的swap空间,不过执行性能会较实际的swap分区差.
产生swap文件
执行dd命令新增一个1G的swap文件:
# dd if=/dev/zero of=/opt/swapfile bs=1M count=1000
更多关于dd命令的解释请参考man手册man dd
格式化swap文件
接下来执行mkswap命令,将myswap文件格式化成swap文件系统:
# mkswap /tmp/myswap
使能swap文件
执行swapon命令可以使能myswap文件为swap分区,对应的执行swapoff命令可以关闭这种效果:
# swapon /tmp/myswap
此时可以通过 free -h
查看内存使用情况及swap分区
自动挂载
编辑/etc/fstab
文件,添加开机使能swap文件项:
# vim /tmp/myswap
/tmp/myswap swap swap defaults 0 0 # 待添加的行
最后执行以下命令自动挂载所有在fstab中的文件系统
# mount -a