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