大多数情况下,建议交换内存的大小为物理内存大小的 1 到 2 倍。 换句话说,如果您有 8GB 内存,则交换空间大小应在 8-16GB 之间。
如果系统中没有配置交换分区,当内存耗尽时,系统可能会杀死正在运行的进程/应用程序,从而导致系统崩溃。 在本文中,我们将学习如何向 Linux 系统添加交换分区。 我们有两种方法:
第一种方法(使用fdisk命令)
通常,系统的第一个硬盘将命名为/dev/sda,分区将命名为/dev/sda1和/dev/sda2。 在本文中,我们使用具有两个主分区的硬盘。 这两个分区是/dev/sda1和/dev/sda2,我们使用/dev/sda3作为交换分区。
首先新建一个分区,
$ fdisk /dev/sda
按 n 创建一个新分区。 系统会询问您从哪个柱面开始,只需按 Enter 键即可使用默认值。 然后系统会询问您要在哪个柱面结束,这里我们输入交换分区的大小(例如)。 这里我们输入+1000M。
现在我们已经创建了一个大小的磁盘。 但我们没有设置分区的类型。 我们按t并按Enter键来设置分区类型。
现在我们需要输入分区号,这里我们输入3,然后输入磁盘分类号,交换分区的分区类型是82(要显示所有可用的分区类型,按l),然后按w保存磁盘分区表。
接下来使用命令格式化交换分区:
$ mkswap /dev/sda3
然后激活新创建的交换分区:
$ swapon /dev/sda3
但是,我们的交换分区在重启后不会自动挂载。 要永久挂载,我们需要将内容添加到 /etc/fstab 文件中。 打开 /etc/fstab 文件并输入以下行:
$ vi /etc/fstab /dev/sda3 swap swap default 0 0
保存并关闭文件。 现在我们的交换分区可以在每次重新启动后使用。
第二种方法(使用命令)
我推荐这种方法,因为它是创建交换空间最简单、最快的方法。 最被低估和最少使用的命令之一。 命令用于为文件预先分配块/大小。
要创建交换空间,我们首先在 / 目录中创建一个名为的文件。 然后为文件分配2GB:
$ fallocate -l 2G /swap_space
我们运行以下命令来验证文件大小:
$ ls -lh /swap_space
然后更改文件权限以使 / 更安全:
$ chmod 600 /swap_space
这样只有 root 才能读写该文件。 让我们再次格式化交换分区(LCTT翻译:虽然这是一个文件,但我们将它挂载为分区):
$ mkswap /swap_space
然后启用交换空间:
$ swapon -s
每次重启后必须重新挂载磁盘分区。 因此,为了使其持久化,就像上面一样,我们编辑 /etc/fstab 并输入以下行:
/swap_space swap swap sw 0 0
保存并退出文件。 现在我们的交换分区将始终被安装。 重启后,我们可以在终端中运行 free -m 来检查交换分区是否已经生效。
我们的教程到这里就结束了。 我希望这篇文章足够容易理解和学习。 如果您有任何疑问,请随时询问。
翻译来源
通过:
作者: 译者: 校对者:wxy