Linux系统的Swap分区,即交换分区,通常也称为虚拟内存,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。
设置交换分区(swap)
此文以CentOS为例,其它Linux系统方法也差不多。
#先用dd命令创建一个1024M的分区dd if=/dev/zero of=/swap bs=1M count=1024#然后进行格式化mkswap /swap#启用虚拟内存swapon /swap#设置开机启动echo "/swap none swap default 0 0" >> /etc/fstab
通过上面简单的几个命令,我们已经设置了一个1024M的交换分区(虚拟内存)。
其它命令
#查看当前内存使用情况free -mt#查看当前交换分区路径swapon -s#关闭虚拟内存,改成自己交换分区路径swapoff /swap#开启虚拟内存,改成自己交换分区路径swapon /swap
总结
一般情况下,Swap空间应大于或等于物理内存的大小,通常Swap空间的大小应是物理内存的2-2.5倍。在正式的生产环境中,建议设置交换分区(swap)来提高系统和业务稳定性,当然交换分区不是万能的,若长期内存不足,建议还是增加物理内存为好。