NY 知识库

Swap(交换分区)配置方法

本页目录

1.查看虚拟内存大小

free -h

如Swap显示为0GB则直接进入

2.设置虚拟内存

关闭已有Swap:sudo swapoff /swapfile

创建交换文件:sudo fallocate -l 8G /swapfile

设置文件权限:sudo chmod 600 /swapfile

设置文件类型为交换文件:sudo mkswap /swapfile

启用交换文件:sudo swapon /swapfile

永久性地添加到 /etc/fstab:echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

虚拟内存(Swap)通常是在物理内存用尽时才被使用,它可以防止系统因为内存不足而崩溃。

3.调整交换文件的 swappiness(可选)

进入对应文件编辑:sudo vim /etc/sysctl.conf

添加一行以降低swappiness:vm.swappiness=10

保存并退出:输入:wq对文件的修改进行保存并退出

更新生效:sudo sysctl -p

关于Swappiness参数

Swappiness 是一个系统内核参数,用于调整系统在物理内存使用紧张时将数据交换到交换空间的程度。

Swappiness 的值范围是 0 到 100。默认值是 60(Ubuntu22.04)。

Swappiness 范围: Swappiness 的值可以在 0 到 100 之间调整。较低的值表示系统更倾向于使用物理内存,而较高的值表示系统更倾向于使用交换空间。

物理内存使用紧张时: 当系统的物理内存(RAM)开始用尽时,操作系统会考虑将不活跃的数据移至交换空间,以便为活跃的进程提供更多的物理内存。

默认值是 60: 在许多 Linux 发行版中,Swappiness 的默认值是 60。这表示系统在物理内存使用达到60%左右时开始将数据转移到Swap。

在某些情况下,我们可能更希望系统更积极地使用物理内存而不是交换空间,因此可以将 Swappiness 设置为较低的值。

在另一些情况下,我们可能需要系统更积极地使用交换空间以防止内存耗尽,这时可以将 Swappiness 设置为较高的值。

默认的 Swappiness 值是 60,这意味着在系统检测到物理内存压力时,会比较均衡地使用交换空间。如果将 Swappiness 设置为较低的值(例如 10),系统在内存压力下更倾向于保持数据在物理内存中,而如果将其设置为较高的值(例如 80),系统则更倾向于将不活跃的数据移到交换空间。

总之,Swappiness 的值是一个相对的权衡,不直接对应于物理内存使用的百分比。可以根据系统的需求和性能进行调整,使其更适合你的特定场景。

对于追求最佳性能的服务器的Swappiness系统内核参数的值建议设置为:10