一般在各个云产商购买的云服务器都是不会给我们添加虚拟内存。
例如通过阿里云安装的系统,不会自动给我们分配swap虚拟内存空间;Swap分区或虚拟内存文件,是在系统物理内存不够用的时候,由系统内存管理程序将那些很长时间没有操作内存数据,临时保存到Swap分区虚拟内存文件中,以提高可用内存额度的一种机制。当那些程序要再次重新运行时,会再从Swap分区或虚拟内存文件中恢复之前保存的数据到内存中。
在升级服务器配置前,就先给系统加上一块1GB大小的虚拟内存,防止Linux大开杀戒。
cd /var/
dd if=/dev/zero of=swapfile bs=1024 count=1048576 #创建大小为1G的文件swapfile
#count的计算公式: count=SIZE*1024 (size以MB为单位)
mkswap swapfile #格式化虚拟内存文件
swapon swapfile #激活虚拟内存文件
再编辑自动挂载文件,让系统开机的时候自动加载虚拟内存文件
vi /etc/fstab
添加如下代码
/var/swapfile swap swap defaults 0 0
PS:相关操作会导致额外的IO开销,特别是,如果内存使用率已经非常高,而同时IO性能也不是很好的情况下,该机制其实会起到相反的效果:不仅系统性能提升较小(因为内存使用率已经非常高了),而且由于频繁的内存到SWAP的切换操作,会导致产生大量额外的IO操作,导致IO性能进一步降低,最终反而降低了系统总体性能。