如何在 CentOS 6 上添加 Swap如何在 CentOS 6 上添加 Swap如何在 CentOS 6 上添加 Swap如何在 CentOS 6 上添加 Swap
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 CentOS 6 上添加 Swap

状态:已弃用

本文涵盖不再受支持的 CentOS 版本。如果您当前正在运行运行 CentOS 6 的服务器,我们强烈建议您升级或迁移到受支持的 CentOS 版本。

原因:

请参阅:

以下 DigitalOcean 教程可能会立即引起您的兴趣,因为它概述了在 CentOS 7 服务器上添加交换空间:

  • 如何在 CentOS 7 上添加 Swap

关于 Linux 交换

Linux RAM 由称为页面的内存块组成。为了释放 RAM 页面,可能会发生“Linux 交换”,并将内存页面从 RAM 复制到硬盘上的预配置空间。Linux 交换允许系统利用比最初可用的物理内存更多的内存。

但是,交换也有缺点。由于硬盘的内存比 RAM 慢得多,因此服务器性能可能会大大降低。此外,如果系统因换入和换出太多文件而变得不堪重负,就会开始发生交换抖动。

尽管通常建议对使用传统旋转硬盘驱动器的系统进行交换,但将交换与 SSD 一起使用可能会导致硬件性能随着时间的推移而退化。出于这一考虑,我们不建议在 DigitalOcean 或任何其他使用 SSD 存储的提供商上启用交换。这样做会影响您和您的邻居的底层硬件的可靠性。

如果您需要提高服务器性能,我们建议升级您的 Droplet。这通常会带来更好的结果,并会降低导致可能影响您的服务的硬件问题的可能性。

检查交换空间

在我们继续设置交换文件之前,我们需要通过查看交换使用摘要来检查是否已启用任何交换文件。

swapon -s

如果未返回任何内容,则摘要为空且不存在交换文件。

检查文件系统

在我们知道我们没有启用交换文件之后,我们可以使用 df 命令检查服务器上有多少空间。交换文件将占用 512MB——因为我们只使用了大约 7% 的 /dev/hda,我们可以继续。

df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda              20642428   1347968  18245884   7% /

创建并启用交换文件

现在是时候使用 dd 命令创建交换文件本身了:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k

\of=/swapfile 指定文件的名称。在这种情况下,名称是 swapfile。

随后我们将通过创建一个 linux 交换区域来准备交换文件:

sudo mkswap /swapfile

结果显示:

Setting up swapspace version 1, size = 536866 kB

通过激活交换文件来完成:

sudo swapon /swapfile

然后,您将能够在查看交换摘要时看到新的交换文件。

 swapon -s
Filename				Type		Size	Used	Priority
/swapfile                               file		524280	0	-1

该文件将保留在服务器上,直到机器重新启动。您可以通过将交换添加到 fstab 文件来确保交换是永久性的。

打开文件:

sudo nano /etc/fstab

粘贴以下行:

/swapfile          swap            swap    defaults        0 0

为防止文件对所有人都可读,您应该为交换文件设置正确的权限:

chown root:root /swapfile 
chmod 0600 /swapfile

如何配置交换性

操作系统内核可以通过称为 swappiness 的配置参数调整它依赖交换的频率。

要查找当前的 swappiness 设置,请键入:

<pre>cat /proc/sys/vm/swappiness</pre>
<pre>60</pre>

Swapiness 可以是 0 到 100 之间的一个值。接近 100 的 Swappiness 意味着操作系统将经常交换,而且通常交换得太快。尽管交换提供了额外的资源,但 RAM 比交换空间快得多。任何时候将某些东西从 RAM 移动到交换区时,它都会变慢。

swappiness 值为 0 意味着操作将仅在绝对需要时依赖交换。我们可以使用 sysctl 命令调整 swappiness:

<pre>sysctl vm.swappiness=10</pre>
<pre>vm.swappiness=10</pre>

如果我们再次检查系统 swappiness,我们可以确认设置已应用:

<pre>cat /proc/sys/vm/swappiness</pre>
<pre>10</pre>

要使您的 VPS 在每次启动时自动应用此设置,您可以将设置添加到 /etc/sysctl.conf 文件中:

<pre>sudo nano /etc/sysctl.conf</pre>
<pre># Search for the vm.swappiness setting.  Uncomment and change it as necessary.
vm.swappiness=10</pre>
©2015-2025 艾丽卡 support@alaica.com