一、停用虚拟内存
1.查看当前虚拟内存分区路径,一般位于/etc/fstab
2.停止正在使用swap分区
代码语言:javascript复制swapoff /dev/mapper/cl-swap
3.删除swap分区文件
代码语言:javascript复制rm -rf /dev/mapper/cl-swap
4.进入/etc/fstab注释掉fstab文件里开机自动挂载配置,内容如下:
代码语言:javascript复制/dev/mapper/cl-swap swap swap defaults 0 0
二、开启虚拟内存
1.创建swap交换文件,添加swap分区(执行完会有些卡,请等待)
代码语言:javascript复制dd if=/dev/zero of=/var/swapfile bs=1024 count=4194304
注:
bs=1024:设置数据的单位,即同时读入/输出的块字节大小为1024(kb)。
count = 4194304:单位为b,表示虚拟内存大小为4G。
2.将交换文件格式化并转换为swap分区(提示不安全权限不用管,已经激活了)
代码语言:javascript复制mkswap /var/swapfile
3.挂载并激活分区
代码语言:javascript复制swapon /var/swapfile
4.修改fstab配置,设置开机自动挂载该分区
代码语言:javascript复制echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab
三、设置虚拟内存的使用策略
注:vm.swappiness 是一个用于动态调整Linux内核虚拟内存管理参数的命令。其中 vm.swappiness 参数控制了操作系统在使用物理内存和交换空间(Swap)之间的倾向性。
当 vm.swappiness 设置为0时,系统尽可能避免使用交换空间,只有在物理内存不足时才会使用。
当 vm.swappiness 设置为10时,Linux内核在处理内存和交换空间时会相对保守,只有在适度需要时才开始使用交换空间,优先保持应用程序在物理内存中的驻留,以减少磁盘I/O并提高性能。
当 vm.swappiness 设置为100时,系统积极地将 inactive(非活动的)内存页换出到交换空间,以尽量保持所有内存都用作缓存。
1.查看vm.swappiness当前数值
代码语言:javascript复制cat /proc/sys/vm/swappiness
2.修改swappiness值(设置完立即生效,不需要重启系统)
代码语言:javascript复制sysctl vm.swappiness=10
3.设置永久有效,重启系统后仍然有效
代码语言:javascript复制echo "vm.swappiness=10" >> /etc/sysctl.conf