服务器推荐配置:Swap

建站相关51145 阅读0

在我的两核两G服务器无数次卡死重启之后,我终于发现了个好东西:Swap。

Swap是什么?

Swap 是 “内存不够时的备用仓库(硬盘当内存用)”

正常情况下,程序都在内存中运行。但如果内存不够了,系统就会把一部分“不常用的数据”挪到硬盘上,这个硬盘空间就叫 Swap(交换空间)

如果你加了 swap,内存满的时候,系统不会立刻杀程序,而是先把数据挪到 swap

虽然会变慢,但服务还能活着

一、创建 Swap(推荐 2G)

创建 swap 文件

fallocate -l 2G /swapfile

设置权限(必须)

chmod 600 /swapfile

格式化为 swap

mkswap /swapfile

启用 swap

swapon /swapfile

验证是否成功

free -h

应该能看到:

Swap: 2.0G

二、设置开机自动挂载(很重要)

echo '/swapfile none swap sw 0 0' >> /etc/fstab

不加这个,重启就没了


三、优化使用策略(推荐)

默认系统会比较“爱用 swap”,我们要让它尽量少用


设置 swappiness(建议 10)

sysctl vm.swappiness=10

含义:

  • 10 = 尽量用内存,实在不够才用 swap

  • 默认一般是 60(太高了)


开机永久生效

echo 'vm.swappiness=10' >> /etc/sysctl.conf

四、验证最终效果

free -h

应该类似:

Mem:   3.5G
Swap:  2.0G

再看:

swapon --show

五、注意事项

swap不是让你“多跑程序”

而是防止崩溃,不是提升性能

省流版

你只需要执行这几行:

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
sysctl vm.swappiness=10
echo 'vm.swappiness=10' >> /etc/sysctl.conf

评论

发表评论