【波斯猫备忘录】我试用了AWS免费套餐!正在添加交换空间

你好!
我是井上,一只来自 Beyond Co., Ltd. 四国办事处的波斯猫。

这次我在我的 AWS 实例上创建了一个交换区,所以
我就以波斯猫的视角,写篇备忘录给其他波斯猫看看。
希望对你们有帮助!(*'ω' *)

SWAP(交换)功能用于在内存不足时将数据移动到磁盘并临时存储。
换出(swap-out)机制将部分内存数据保存到磁盘。
换入(swap-in)则将换出的数据返回到内存的过程。

内存可以比作电脑桌。
如果桌子很小,工作效率就会降低,
因为你需要清理不用的物品,取出需要的物品。
硬盘可以比作电脑桌上的抽屉。
交换空间(Swap)像使用内存一样使用硬盘,
给人一种拥有比实际内存更多的错觉。
然而,使用硬盘完成任务所需的时间比使用内存要长。
因此,使用交换空间会降低电脑的运行速度。
为什么使用交换空间会降低电脑的运行速度呢?
首先,CPU 进行计算所需的数据必须存储在主内存(内存)中。
如果你的桌子很小很拥挤,那么在工作时你别无选择,只能将数据临时存储在抽屉里,因此你
会频繁地将数据放入抽屉,从而增加交换空间的使用。
此外,你希望将所需的数据放在桌面上,因此你会频繁地将数据从抽屉中取出并放到桌面上。
数据会频繁地被放入抽屉(换出)和取出(换入)。
这种频繁的交换操作被称为抖动(thrashing)。
由于交换空间的处理速度比内存慢,因此
使用的交换空间越多,计算机运行速度就越慢。

以下是导致交换操作的可能原因:
1. 内存不足。2
. 内存碎片化已发展到无法获取大量内存的程度。

创建交换区域

[root@test-aws-harukainoue var]# free -m 总计 已用 可用 共享 缓冲区/缓存 可用 内存:983 226 75 0 681 596 交换空间:0 0 0

默认情况下,可以看到没有交换空间,只使用了内存。

让我们马上创建一个交换空间!
首先,创建一个交换文件用作内存。
我在 /var 目录下创建一个名为“swapfile”的目录,并在其中创建一个名为“swap”的文件。

[root@test-aws-harukainoue var]# mkdir 交换文件 [root@test-aws-harukainoue var]# ls -altr drwxr-xr-x 2 root root 6 Feb 2 04:52 交换文件 [root@test-aws-harukainoue var]# cd 交换文件 [root@test-aws-harukainoue 交换文件]# pwd /var/swapfile [root@test-aws-harukainoue swapfile]# dd if=/dev/zero of=/var/swapfile/swap bs=1M count=1024 1024+0 条记录中的 1024+0 条记录复制了 1073741824 字节 (1.1 GB),13.6114 秒,78.9 MB/s [root@test-aws-harukainoue交换文件]# ls -altr -rw-r--r-- 1 root root 1073741824 Feb 11 08:40 swap [root@test-aws-harukainoue swapfile]# chmod 600 swap [root@test-aws-harukainoue swapfile]# ls -altr -rw------- 1 root root 1073741824 Feb 11 08:40 swap

为防止意外编辑“swap”文件,请将权限设置为
600 *如果权限未设置为“600”,则会显示以下警告。

mkswap: /swap: 不安全的权限 0644, 0600 建议。.

将交换文件格式化为 SWAP 空间
并激活交换文件。

[root@test-aws-harukainoue swapfile]# mkswap ./swap 设置交换空间版本 1,大小 = 1024 MiB (1073737728 字节) 无标签,UUID=8227fefa-a6da-4c63-a9c3-ae21c06dad30 [root@test-aws-harukainoue swapfile]# swapon ./swap [root@test-aws-harukainoue swapfile]# free -m 总计 已用 可用 共享 缓冲区/缓存 可用 内存:983 227 73 0 682 594 交换空间:1023 0 1023 [root@test-aws-harukainoue swapfile]# swapon -s 文件名 类型 大小 已用 优先级 /var/swapfile/swap 文件 1048572 0 -2

交换区已创建!!!

设置交换分区,使其在重启后也不会消失。

挂载 SWAP 分区,以便重启后仍可使用。

[root@test-aws-harukainoue 交换文件]# vi /etc/fstab

请输入以下内容并覆盖原有内容:

/var/swapfile/swap swap swap defaults 0 0 :wq

重启・・・・・・・・・

[root@test-aws-harukainoue ~]# free -m 总计 已用 可用 共享 缓冲区/缓存 可用 内存:983 218 78 0 686 604 交换空间:1023 0 1023

可以看到,重启后 SWAP 仍在被使用。

我通常不会在我的 AWS 实例环境中使用交换空间,所以我把它关闭了。
*如果您使用交换空间,则无需将其关闭。

[root@test-aws-harukainoue swapfile]# swapoff ./swap [root@test-aws-harukainoue swapfile]# free -m total used free shared buff/cache available Mem: 983 226 73 0 682 594 Swap: 0 0 0

概括

当内存不足时,OOM killer 会终止进程。
内存不足时,
使用临时存储区域 SWAP 作为临时解决方案可以缓解内存耗尽的担忧。
合理使用内存和 SWAP 可以防止系统崩溃。
别忘了挂载你创建的 SWAP,以免重启后发现它消失了!

每天都在成长,每天都在进步。
我必须每天都更新自己!
感谢您阅读到最后。

如果您觉得这篇文章有用,请点击【点赞】!
0
加载中...
0票,平均分:0.00/10
1,509
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

井上彩花

我是系统解决方案部门的一员。
我作为创始成员之一加入了Beyond,负责四国办公室的日常运营。我没有任何IT行业经验就直接进入了这个行业。
作为教育团队的一员,我负责为应届毕业生、职场新人和现有员工创建课程并开展培训。
我的主要工作是服务器的运维。
最重要的是,我非常关注客户的内容。此外,
我也是网站内容部门和YouTube团队的成员。