云服务器增加虚拟内存

2020-04-15  本文已影响0人  章光辉_数据

云服务器增加虚拟内存

本文环境:CentOS 7

如果云服务器上运行了较多的应用,当内存不足时,就会发生宕机的情况。可以通过增加虚拟内存的方式,提高总的内存容量,以解决这一问题。

创建 swap 分区

查看内存使用情况

free -h 

解释一下看到的信息:

创建 swap 文件

创建名为 swapfile 、大小为 4G 的 swap 文件(执行需要几十秒):

dd  if=/dev/zero  of=/var/swapfile  bs=1024  count=4194304

解释一下这段代码:

建立 swap 分区

用 mkswap 命令建立 swap 分区,并指定 swap 文件是刚才创建好的 /var/swapfile

mkswap /var/swapfile

激活 swap 分区

swapon /var/swapfile

如果出现提示【不安全的权限 0644,建议使用 0600】,可以忽略,也可以听从建议修改权限。

chmod -R 0600 /var/swapfile

激活后,可以使用 free -h 查看系统内存情况。

修改 swap 配置

开机自动挂载 swap 分区

echo  "/var/swapfile   swap  swap  defaults  0  0" >>  /etc/fstab

调整系统使用 swap 分区的策略

系统使用虚拟内存是有一定策略的,通过参数 swappiness 来平衡。不同系统的默认值不太一样,Ubuntu 是 60,Linux 是 30。

swappiness 的值,越大表示越积极使用 swap 分区,越小表示越积极使用物理内存。以值取 30 为例,代表了当剩余物理内存小于 30% 时,系统开始使用 swap 分区。

一般的建议是:

查看当前的 swappiness 值:

cat /proc/sys/vm/swappiness

(临时)修改 swappiness 值为 10:

sysctl vm.swappiness=10

(永久)修改 swappiness 值为 10:

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

删除 swap 分区

讲完了怎么创建,再讲讲怎么复原,需要 3 步:

step1. 停止正在使用的 swap 分区

swapoff  /var/swapfile

step2. 删除swap分区文件

rm -rf   /var/swapfile

step3. 删除或注释掉之前在 /etc/fstab 文件里追加的开机自动挂载配置内容,以及在 /etc/sysctl.conf 文件里追加的 swappiness 值。

vim /etc/fstab  # 注释这一行: /var/swapfile   swap  swap  defaults  0  0

vim /etc/sysctl.conf  # 注释这一行: vm.swappiness = 10
上一篇 下一篇

猜你喜欢

热点阅读