文章

如何增加 Ubuntu 中的交换文件大小

有时,如果您让 Ubuntu 机器长时间运行而没有足够的物理内存,或者如果您编译和构建大型平台或 BSP,性能可能会下降或可能出现错误。

因此,当物理内存不足时,基于Linux的操作系统会创建交换文件并使用硬盘上的文件作为内存。这称为交换文件,类似于 Windows 环境中的虚拟内存。

现在,我想解释一下如何在 Ubuntu 20.04 中创建和应用交换文件。

检查掉期

使用 free -m 命令检查我的 Ubuntu 环境中的交换状态。并检查系统root中是否存在swapfile。在根路径中创建交换文件是很常见的。

就我而言,我使用 2GB 交换空间,交换文件位于根路径中。

1
2
3
4
5
6
7
8
9
$ free -m
              total        used        free      shared  buff/cache   available
Mem:           4913        1306        2306           8        1300        3359
Swap:          2048           0        2048
$ ls -la /
total 8388712
...
-rw-------   1 root root   2048934592 Jul 24 17:54 swapfile
...

创建交换文件

我将删除现有的 2GB 交换文件并创建一个新的 5GB 交换文件。

首先,关闭交换功能并删除已经使用的2GB交换文件。

1
2
sudo swapoff -v /swapfile
sudo rm /swapfile

然后,我们将在根目录中创建一个5GB的交换文件,并将文件权限分配为600。

1
2
sudo fallocate -l 5G /swapfile
sudo chmod 600 /swapfile 

最后,用新创建的文件激活交换。

1
2
sudo mkswap /swapfile
sudo swapon /swapfile

以下是我执行上述命令的方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ sudo swapoff -v /swapfile
[sudo] password for bull: 
swapoff /swapfile
$ sudo rm /swapfile
$ sudo fallocate -l 5G /swapfile
$ ls -l /
total 5242976
...
-rw-r--r--   1 root root   5368709120 Aug 17 14:11 swapfile
...
$ sudo chmod 600 /swapfile 
$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 5 GiB (5368705024 bytes)
no label, UUID=747f641b-70cc-449c-b719-e54154ad8194
$ sudo swapon /swapfile

注册交换文件

现在,最后,我们将配置 Ubuntu 在每次启动时加载交换文件。

然后,打开/etc/fstab

1
sudo vi /etc/fstab    

并添加下面的行。如果已经设置,则无需添加。

1
/swapfile              none            swap    sw              0       0

重启

首先重新启动。重新启动后,您可以在系统监视器上查看上面生成的交换文件。

`应用程序`菜单 > 系统监视器 应用程序菜单 > 系统监视器

本文由作者按照 CC BY 4.0 进行授权