阿里云轻量服务器如何开启Swap交换分区?手把手教你提升系统稳定性

大家好!如果你正在使用阿里云的轻量应用服务器(ECS Light),特别是配置较低的机型,比如1核1G或者1核2G,那你可能已经遇到过这样的问题:运行一些稍微吃内存的程序时,系统直接卡死、进程被杀,甚至SSH都连不上了。别急,这很可能是因为你的服务器内存不足,又没有开启Swap交换分区。

阿里云轻量服务器如何开启Swap交换分区?

今天这篇文章,我就来手把手教你在阿里云轻量服务器上如何开启Swap交换分区。哪怕你是Linux小白,只要跟着步骤一步步来,也能轻松搞定。最关键的是——这个操作几乎不花一分钱,却能大大提升你服务器的稳定性和可用性。

什么是Swap交换分区?为什么需要它?

简单来说,Swap就是“虚拟内存”。当你的物理内存(RAM)快用完的时候,系统会把一部分暂时不用的数据从内存挪到硬盘上的Swap空间里,腾出内存给更紧急的任务使用。虽然硬盘速度比内存慢很多,但有总比没有强,至少能避免系统直接崩溃。

举个例子:你开了一台1GB内存的轻量服务器,装了个WordPress博客,再跑个Redis缓存。看着挺简单的对吧?但一旦访问量上来,或者后台有自动更新任务,内存瞬间就爆了。这时候如果没有Swap,Linux内核会直接启动OOM Killer(内存不足杀手),随机干掉一个进程来保命——倒霉的往往是你的网站服务。

开启Swap就像是给你的小服务器加了个“安全气囊”,关键时刻能救你一命。

阿里云轻量服务器默认没有Swap?

没错!大多数阿里云轻量服务器在初始化系统镜像时,默认是不开启Swap的。尤其是CentOS、Ubuntu这些主流系统镜像,为了追求“纯净”和“高性能”,干脆就把Swap给关了。对于高配机器来说没问题,但对于我们这些“抠门党”用低配机搞个人项目的人来说,这就有点坑了。

不过别担心,Swap是可以后期手动创建的。而且不需要额外购买磁盘,只要你还有硬盘空间就行。轻量服务器通常给25GB起步的SSD,就算只用几GB做Swap,也完全不影响日常使用。

第一步:检查当前Swap状态

登录你的轻量服务器(通过SSH)。你可以用终端(Mac/Linux)或者Putty(Windows)连接。

输入下面这条命令,看看现在有没有Swap:

sudo swapon --show

如果什么都没输出,说明目前没有启用Swap。也可以用这个命令查看整体内存情况:

free -h

你会看到类似这样的结果:

              total    used    free    shared  buff/cache   available
Mem:          981Mi   120Mi   700Mi     10Mi       160Mi        800Mi
Swap:            0B      0B      0B

看,Swap全是0,这就是我们要解决的问题。

第二步:创建Swap文件

接下来我们要在硬盘上创建一个专门用于Swap的文件。Swap大小建议是物理内存的1-2倍。比如你有1G内存,那建个1G或2G的Swap就差不多了。

这里我们以创建1G的Swap文件为例:

sudo fallocate -l 1G /swapfile

这条命令的意思是:分配一个1GB大小的文件,名字叫/swapfile。如果你想要2G,就把1G改成2G就行了。

执行完后,可以用下面的命令确认文件是否创建成功:

ls -lh /swapfile

你应该能看到一个1.0G的文件。

第三步:设置正确的权限

Swap文件很敏感,不能让普通用户随便读写,否则会有安全风险。所以我们得改一下权限:

sudo chmod 600 /swapfile

这样只有root用户才能读写这个文件,安全性就提高了。

第四步:格式化为Swap格式

现在文件有了,但还不能直接用,得把它“格式化”成Swap专用的格式:

sudo mkswap /swapfile

执行后你会看到类似这样的提示:

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx

说明格式化成功!

第五步:启用Swap文件

现在可以正式启用Swap了:

sudo swapon /swapfile

然后再次检查Swap状态:

sudo swapon --show

这次你应该能看到:

NAME       TYPE  SIZE   USED   PRIO
/swapfile  file  1.0G   0B     -2

恭喜!Swap已经成功启用。

第六步:设置开机自动挂载

上面的操作只是临时生效。一旦你重启服务器,Swap又没了。所以我们得让它开机自动加载。

编辑/etc/fstab文件:

sudo nano /etc/fstab

在文件末尾添加这一行:

/swapfile none swap sw 0 0

保存并退出(nano编辑器按Ctrl+O回车保存,Ctrl+X退出)。

这样每次开机系统都会自动挂载Swap,再也不用担心重启后失效了。

第七步:优化Swap使用策略(可选)

Linux有个参数叫swappiness,用来控制系统多“积极”地使用Swap。默认值通常是60,数值越高越倾向于用Swap。

对于我们这种内存紧张的小服务器,可以适当调高一点,比如设为80:

sudo sysctl vm.swappiness=80

但这只是临时生效。要永久设置,还得改配置文件:

sudo nano /etc/sysctl.conf

在文件末尾加上:

vm.swappiness=80

保存退出即可。

常见问题解答

Q:开启Swap会影响性能吗?

A:会有一点影响,毕竟硬盘比内存慢。但如果只是偶尔用到Swap,比如内存短暂飙高,影响微乎其微。比起直接崩掉,这点性能损失完全可以接受。

Q:Swap文件放在哪里?占不占系统盘?

A:我们创建的/swapfile就在系统根目录下,确实占用系统盘空间。但1G或2G对于25GB以上的系统盘来说,几乎可以忽略。

Q:能不能用独立磁盘做Swap?

A:可以,但轻量服务器一般不支持挂载数据盘,所以不现实。用文件方式最简单高效。

趁现在!领张阿里云优惠券省点钱

看到这里,相信你已经成功开启了Swap,服务器也变得更稳了。不过话说回来,如果你觉得1G内存实在捉襟见肘,不妨考虑升级一下配置。阿里云经常有活动,尤其是新用户,性价比非常高。

我推荐你现在就去领一张阿里云优惠券,说不定能省下好几十甚至上百块。不管是续费现有服务器,还是升级到更高配置,都能用得上。反正免费领,不用白不用,对吧?

小投入,大回报

开启Swap交换分区,看似是个小操作,但它能在关键时刻救你一命。尤其是对于预算有限、用低配轻量服务器搞个人项目的开发者、博主、学生党来说,这几乎是必做的优化之一。

整个过程不到10分钟,命令也就五六条,安全可靠,几乎没有风险。只要你按照本文一步步来,基本不会出错。

最后再强调一遍:内存不够不可怕,可怕的是没有任何缓冲机制。Swap就是那个让你安心睡觉的“备用轮胎”。

赶紧动手试试吧!如果你在操作过程中遇到任何问题,欢迎留言交流。

内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。

本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/149802.html

(0)
上一篇 1天前
下一篇 1天前
联系我们
关注微信
关注微信
分享本页
返回顶部