blank
blank
发布于 2020-02-27 / 513 阅读 / 0 评论 / 0 点赞

CentOS 7 的虚拟内存管理

启用 swap

首先查看当前是否有启用虚拟内存

cat /proc/swaps
Filename				Type		Size	Used	Priority

为空说明当前没启用虚拟内存

使用 dd 命令创建名为 swapfile,大小为 4GB 的 swap 交换文件,文件路径为/var/swapfile,可自定义

dd if=/dev/zero of=/var/swapfile bs=512 count=8388616
记录了8388616+0 的读入
记录了8388616+0 的写出
4294971392字节(4.3 GB)已复制,29.9479 秒,143 MB/秒

修改虚拟内存文件权限为 600

chmod 600 /var/swapfile
ll /var/swapfile 
-rw------- 1 root root 4294971392 2月  26 15:51 /var/swapfile

挂载并激活分区

mkswap /var/swapfile

修改 fstab 配置,设置开机自动挂载该分区

echo "/var/swapfile   swap  swap  defaults  0  0" >> /etc/fstab

# 再次检查内存使用
free -h
              total        used        free      shared  buff/cache   available
Mem:            15G         13G        226M        4.1M        1.7G        1.5G
Swap:          4.0G          0B        4.0G

修改虚拟内存使用的优先级

查看当前swappiness

cat /proc/sys/vm/swappiness
0

范围 0-100 数值越大 越倾向使用虚拟内存
0 的话 表示永不使用虚拟内存

临时修改 swappiness 值为 20(重启后即还原为默认值)

sysctl vm.swappiness=20

永久修改 swappiness 默认值(重启生效)

echo "vm.swappiness=20" >> /etc/sysctl.conf

删除 swap

查看交换分区文件

cat /proc/swaps
Filename				Type		Size	Used	Priority
/var/swapfile                           file		4194304	0	-2

关闭分区 将上面查出来的文件路径写上即可

swapoff /var/swapfile

删除文件

rm -rf /var/swapfile
编辑 /etc/fstab 文件,删除或注释掉我们之前在 /etc/fstab 文件里追加的开机自动挂载配置内容
vim /etc/fstab
-------------------------------------------------------------
#/var/swapfile   swap  swap  defaults  0  0
-------------------------------------------------------------

这样就删除掉了 swap 如果要修改的话 也可以先删除然后重新创建

Done


评论