Linux 上的交换文件入门Linux 上的交换文件入门Linux 上的交换文件入门Linux 上的交换文件入门
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

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

Linux 上的交换文件入门

如果您运行的系统内存较低,则交换文件非常重要。这是您需要了解的有关交换文件的所有信息。

本指南将通过定义什么是交换文件以及它在保持系统稳定方面发挥的重要作用,向您介绍 Linux 中的交换文件。

什么是交换文件?

Linux 中的交换文件是硬盘上的一个文件,Linux 内核用它来存储计算机上运行的应用程序的变量数据。当随机存取存储器 (RAM) 不够用时,称为交换的进程负责将数据传输到交换文件。

想象一下,您正在运行一个内存密集型应用程序,并且系统开始使用 100% 的 RAM,Linux 操作系统将使用交换文件来避免 RAM 被填满并导致系统无响应或更糟糕的情况:崩溃。

注意:从交换文件读取数据比直接从 RAM 读取数据要慢一些,但它是比系统崩溃更好的选择。

使用 swapon 查看您的交换文件

要获取有关系统上交换文件的信息,请运行以下命令:

swapon

上面命令的输出与下面显示的类似。

输出显示 /root 文件夹包含名为 swapfile 的系统交换文件。此外,交换文件的大小为2GB,当前系统使用了大约41MB的交换文件空间。

由于 RAM 和交换空间一起存储临时数据,您可能需要有关它们的详细信息。您可以使用free命令来执行此操作。

free -h

如何在 Linux 上创建交换文件

如果您的 RAM 遇到性能问题,那么您应该考虑创建或增加交换文件的大小。

如果您的系统 RAM 较低(例如 2GB),则应创建一个大约是 RAM 大小两倍(即 4GB)的交换文件。

另一方面,如果您的系统上有足够的 RAM 空间,例如 8GB,那么您的交换文件可以是 RAM 的 25%,即 2GB,因为您的 RAM 可以容纳更多的应用程序变量数据。

在创建新的交换文件之前,请确保禁用当前的 /swapfile:

sudo swapoff /swapfile

现在使用 fallocate 命令创建一个大小为 2GB 的交换文件。

sudo fallocate -l 2G /swapfile

如果您没有交换文件,上述命令将为您创建一个交换文件,但如果您已经有交换文件,它将覆盖现有的文件。

在 Linux 上调整 Swappiness

Swappiness 是 Linux 内核用来确定 RAM 使用交换文件的频率的一个值。默认情况下,该值设置为 60。该值越高,RAM 使用交换文件的频率就越高,如果 RAM 较低,则这是理想的选择。可能的交换文件值范围为 0 到 100。

要查看交换值,请运行以下命令:

cat /proc/sys/vm/swappiness

要临时更改系统上的 swappiness 值(例如 20),请使用以下命令:

sudo sysctl vm.swappiness=20

注意:系统重新启动后,该值将重置为默认值。

要保留交换性,您应在 etc/sysctl.conf 配置文件底部附加以下行 vm.swappiness=20。

确保重新启动系统以使更改生效。

reboot

如何删除交换文件

要删除不再需要的交换文件,请首先使用 swapoff 将其禁用,然后使用 rm 命令删除文件。

sudo swapoff /swapfile
sudo rm /swapfile

使用专用分区进行交换

有了交换文件,您应该可以期望系统获得更好的性能,因为交换文件可以防止系统在运行内存密集型应用程序时崩溃。

对于关键任务系统,您可以考虑在硬盘上创建专用分区用于交换。交换分区和交换文件各有优缺点。

©2015-2025 艾丽卡 support@alaica.com