Proxmox VE swap虚拟内存讲解。让内存超起来。
Linux要超内存,自然需要依靠swap。
Swap虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
什么时候可以启用swap?
如果物理内存不足,或者防止突然的内存溢出,导致进程被杀死。可以用swap。
如何启用swap?
可以将一个分区,或者一个文件作为swap,使用swapon启用。
以文件形式
#创建一个16G的swap,bs * count =16G
dd if=/dev/zero of=/swapfile bs=1G count=16
#配置安全的权限
chmod 0600 /swapfile
#格式化成swap
mkswap /swapfile
#挂载swap
swapon /swapfile
#验证
free -h
以分区形式
创建一个新的分区,如/dev/sdb4
#格式化成swap
mkswap /dev/sdb4
#挂载swap
swapon /dev/sdb4
#验证
free -h
Swap策略?
Linux有个内核参数vm.swappiness。值为0-100,0代表不怎么想用swap,100代表非常想用swap。
举个例子,电脑有 16 GB 的内存和 8 GB 的swap。如果我在内核参数中使用 60 swappiness,那么在使用大约 6 GB (16G*40% == 6.4G)的内存后,机器开始使用swap。
查看当前的swap策略
要检查系统上的当前 swappiness 值,请使用以下 cat 命令:
cat /proc/sys/vm/swappiness
# 大多数 Linux 发行版上的默认 swappiness 值为 60
您可以用来确定 swappiness 值的另一个命令是 sysctl :
sysctl vm.swappiness
vm.swappiness = 60
临时调整的方法如下,我们调成10:
临时调成swap策略
# 方法1:
[root@timeserver ~]# sysctl vm.swappiness=10
vm.swappiness = 10
# 方法2:
[root@timeserver ~]# echo 10 > /proc/sys/vm/swappiness
新值会立即使用,无需重新启动。 这只是临时调整的方法,重启后会回到默认设置的
永久更改Swappiness 值
要想永久调整的话,需要在/etc/sysctl.conf修改,加上:
[root@timeserver ~]# cat /etc/sysctl.conf
vm.swappiness=10
激活设置
[root@timeserver ~]# sysctl -p
启用Swap有什么优劣?
优:缓解物理内存压力
劣1:Swap没有物理内存的速度,过多使用Swap会降低运行性能。且如果Swap所在的硬盘性能不足,还会导致严重的io延迟。总体性能下降明显。Windows虚拟机会明显卡顿。
劣2:如果大量使用swap,可能造成内存错误!
如何减小Swap的不良影响
- 使用一块或者多块高性能的NVME硬盘做swap。
- 增加物理内存。
版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/2680.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/2680.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
4
二维码
海报
Proxmox VE swap虚拟内存讲解。让内存超起来。
Linux要超内存,自然需要依靠swap。
Swap虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
什么时候可以启用s……
文章目录
关闭
路人z
佛西@路人z
Yozz