2024年10月12日星期六

Proxmox VE swap虚拟内存讲解

 

版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/2680.html/
文章版权归作者所有


如何启用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-1000代表不怎么想用swap100代表非常想用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有什么优劣?

优:缓解物理内存压力

1Swap没有物理内存的速度,过多使用Swap会降低运行性能。且如果Swap所在的硬盘性能不足,还会导致严重的io延迟。总体性能下降明显。Windows虚拟机会明显卡顿。

劣2:如果大量使用swap,可能造成内存错误!

如何减小Swap的不良影响

  1. 使用一块或者多块高性能的NVME硬盘做swap
  2. 增加物理内存。


不重启电脑,禁用启用swap,立刻生效

# 禁用命令

sudo swapoff -a

 

# 启用命令

sudo swapon -a

 

# 查看交换分区的状态

sudo free -m

 

二、重新启动电脑,永久禁用Swap

# 把根目录文件系统设为可读写

sudo mount -n -o remount,rw /

 

# 用vi修改/etc/fstab文件,在swap分区这行前加 # 禁用掉,保存退出

vi /etc/fstab

i      #进入insert 插入模式

:wq   #保存退出

 

# 重新启动电脑,使用free -m查看分区状态

reboot

sudo free -m










没有评论:

发表评论

youtube的dns屏蔽方法

  216.239.38.120 是 Google 提供的一个特殊 DNS 服务器,用于强制开启 YouTube 受限模式(Restricted Mode) 。 如果你想在家里强制 YouTube 进入受限模式,可以在 路由器的 DNS 设置 中配置以下 DNS 服务器: D...