前言
虚拟内存技术是将不急于使用的内存数据存放在硬盘中指定文件中,以实现RAM更加专注的存放前台程序的数据,Windows系统中默认开启虚拟内存,通过算法调度可使系统更加充分有效的利用RAM以实现”物尽其用”,且根据实际使用,即便在大内存环境中开启虚拟内存对设备运行也有优化作用,反而因为系统的调度设计,不开启虚拟内存技术即便拥有64GB的大内存也会使系统报错出现不稳定情况,本文主要讲解在Linux系统中如何开启和使用虚拟内存技术.
具体操作
在启动虚拟内存之前先使用
free -m 或 swapon -s 或 cat /proc/swaps
命令确认系统未分配SWAP交换空间,因为多个交换空间对系统有负优化作用,确认好之后使用
dd if=/dev/zero of=/mnt/swap bs=1024 count=1024000 && mkswap /mnt/swap && /sbin/swapon /mnt/swap
命令在/mnt/下增加交换区文件swap,并指定为swap文件,同时挂载该文件为swap分区,其中”count=”后的数值为分区大小,单位为Kb,建议设置为物理内存的1-1.5倍,若物理内存大于4Gb设置2Gb即可,命令示例设置为1Gb,命令中未考虑安全问题,毕竟计算机只有你一个人用的话,谁会刻意去内存中找你的把柄…..
最后使用
swapon -s 或 cat /proc/swaps
命令确认分区已经生效
然而此时虽然我们已经开始使用虚拟内存技术,但是重启后就会失效,为了解决这一问题,各位看官~请您继续往下看
为防止重启失效问题,我们需要让系统开机自动挂载swap分区,使用
vi /etc/fstab
命令进入文件的编辑模式,为该文件最后一行加入
/mnt/swap swap swap default 0 0
按esc进入命令模式:wq保存并退出
wait!
你以为这就结束了吗?too simple too young,sometimes native
根据Linux系统调度规则,我们需要更改系统偏好,什么意思呢?就是有时候linux自我感觉良好,不会使用swap做交换,我们需要更改这一阈值,使用
vi /etc/sysctl.conf
命令进入文件编辑模式,找到vm.swappiness项并调整为0-100之间的数值,数值越大则更偏向使用内存交换,数值越小则越使用物理内存,默认值为30(够保守!)
结语
至此,在Centos系统中建立虚拟内存交换空间就完成了,如有疑问E-mail联系,同时欢迎批评指正.
发表回复