欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Ubuntu添加swap分区的方法

程序员文章站 2022-05-23 22:01:55
前段时间上车了腾讯云 360 买三年多的学生机的活动,加上降配总共获得 6 年,然而内存降到 1g 后,跑个 mysql 时间长了内存都不够。而且腾讯云的 ubuntu 不...

前段时间上车了腾讯云 360 买三年多的学生机的活动,加上降配总共获得 6 年,然而内存降到 1g 后,跑个 mysql 时间长了内存都不够。而且腾讯云的 ubuntu 不知道什么原因 1g 内存实际只有 800+m,更加雪上加霜。

终于前两天服务器由于内存爆了而又没有开 swap 崩了,几乎死机状态,ssh 都连不上,控制台强制重启才恢复正常。为了防止再次出现这种情况,我就给服务器加了个 swap。

参考文档:

首先来了解一下什么是swap

swap分区(也称交换分区)是硬盘上的一个区域,被指定为操作系统可以临时存储数据的地方,这些数据不能再保存在ram中。 基本上,这使您能够增加服务器在工作“内存”中保留的信息量,但有一些注意事项,主要是当ram中没有足够的空间容纳正在使用的应用程序数据时,将使用硬盘驱动器上的交换空间。

写入磁盘的信息将比保存在ram中的信息慢得多,但是操作系统更愿意将应用程序数据保存在内存中,并使用交换旧数据。 总的来说,当系统的ram耗尽时,将交换空间作为回落空间可能是一个很好的安全网,可防止非ssd存储系统出现内存不足的情况。

具体步骤和命令如下:

# 创建一个空文件,具体大小的话对于小内存机器建议为内存的两倍 (例子中 1k * 4m = 4 gib).
sudo mkdir -v /var/cache/swap
cd /var/cache/swap
sudo dd if=/dev/zero of=swapfile bs=1k count=4m
sudo chmod 600 swapfile

# 将新建的文件转换为 swap 文件.
sudo mkswap swapfile

# 开启 swap.

sudo swapon swapfile

# 通过 swapon 或者 top 命令进行验证:
swapon -s
# 或者
top -bn1 | grep -i swap
# 会显示类似信息: kib swap: 4194300 total, 4194300 free

# 禁用 swap 时可以使用 sudo swapoff swapfile.

# 将该分区设置成开机加载.
echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab

# 测试开机加载:
sudo swapoff swapfile
sudo swapon -va

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。