Rock笔记
~/rocknotes/articles/428.md article
// article · linux

为 CentOS 增加 Swap 分区

使用free -h查看CentOS系统内存使用情况:

image.png


    可以看到,Swap = 0,服务器没有开启交换分区。

    这样会有内存隐患,一旦业务瞬间突增、内存耗尽,系统没有 swap 兜底,会直接触发 OOM Killer 杀掉进程,网站或数据库会突然宕机,所以需要为服务器增加Swap分区。

    服务器物理内存是8G,推荐 2G Swap 作为安全缓冲;不建议开超过 4G。步骤如下:


1、创建 2G 大小 swap 文件

dd if=/dev/zero of=/swapfil
e bs=1G count=2
  • bs=1G:每次读写 1G

  • count=2:总共 2G,如果你想 4G 就改成count=4


2、设置权限,只有 root 可读可写,防止普通用户篡改 swap 文件(必须!安全要求)

chmod 600 /swapfile


3、格式化为 swap

mkswap /swapfile


4、启用 swap

swapon /swapfile


5、设置开机永久生效

编辑 /etc/fstab

vim /etc/fstab

在文件最后一行添加:

/swapfile    none    swap    sw    0   0

保存退出 :wq


6、验证是否成功

free -h

image.png

看到 Swap 一行不再是 0,成功


7、调整 swappiness 内核参数

swappiness 值代表内核有多倾向于使用 swap。

  • 默认值一般是 30:内存剩余很多也会往 swap 写,造成卡顿

  • 推荐设置 10:只有内存压力大的时候才用 swap

设置永久生效:

编辑etc/sysctl.conf文件

vim /etc/sysctl.conf

在末尾行添加一行

vm.swappiness=10

加载配置生效

sysctl -p

校验结果

cat /proc/sys/vm/swappiness

此时输出10就是正确配置完成。





回复// 0 replies

最新回复 ↓
// 暂无回复

回复功能沿用原详情页:前往原页面参与讨论 →