这篇文章给大家介绍如何使用fdisk和fallocate命令创建交换分区,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
交换分区在物理内存(RAM)被填满时用来保持内存中的内容。当 RAM 被耗尽,Linux 会将内存中不活动的页移动到交换空间中,从而空出内存给系统使用。虽然如此,但交换空间不应被认为是物理内存的替代品。
大多数情况下,建议交换内存的大小为物理内存的 1 到 2 倍。也就是说如果你有 8GB 内存, 那么交换空间大小应该介于8-16 GB。
若系统中没有配置交换分区,当内存耗尽后,系统可能会杀掉正在运行中的进程/应用,从而导致系统崩溃。在本文中,我们将学会如何为 Linux 系统添加交换分区,我们有两个办法:
使用 fdisk 命令
使用 fallocate 命令
通常,系统的***块硬盘会被命名为 /dev/sda
,而其中的分区会命名为 /dev/sda1
、 /dev/sda2
。 本文我们使用的是一块有两个主分区的硬盘,两个分区分别为 /dev/sda1
、 /dev/sda2
,而我们使用 /dev/sda3
来做交换分区。
首先创建一个新分区,
$ fdisk /dev/sda
按 n
来创建新分区。系统会询问你从哪个柱面开始,直接按回车键使用默认值即可。然后系统询问你到哪个柱面结束, 这里我们输入交换分区的大小(比如 1000MB)。这里我们输入 +1000M
。
swap
现在我们创建了一个大小为 1000MB 的磁盘了。但是我们并没有设置该分区的类型,我们按下 t
然后回车,来设置分区类型。
现在我们要输入分区编号,这里我们输入 3
,然后输入磁盘分类号,交换分区的分区类型为 82
(要显示所有可用的分区类型,按下 l
) ,然后再按下 w
保存磁盘分区表。
swap
再下一步使用 mkswap
命令来格式化交换分区:
$ mkswap /dev/sda3
然后激活新建的交换分区:
$ swapon /dev/sda3
然而我们的交换分区在重启后并不会自动挂载。要做到***挂载,我们需要添加内容到 /etc/fstab
文件中。打开 /etc/fstab
文件并输入下面行:
$ vi /etc/fstab /dev/sda3 swap swap default 0 0
保存并关闭文件。现在每次重启后都能使用我们的交换分区了。
我推荐用这种方法因为这个是最简单、最快速的创建交换空间的方法了。fallocate
是最被低估和使用最少的命令之一了。 fallocate
命令用于为文件预分配块/大小。
使用 fallocate
创建交换空间,我们首先在 /
目录下创建一个名为 swap_space
的文件。然后分配 2GB 到 swap_space
文件:
$ fallocate -l 2G /swap_space
我们运行下面命令来验证文件大小:
$ ls -lh /swap_space
然后更改文件权限,让 /swap_space
更安全:
$ chmod 600 /swap_space
这样只有 root 可以读写该文件了。我们再来格式化交换分区(LCTT 译注:虽然这个 swap_space
是个文件,但是我们把它当成是分区来挂载):
$ mkswap /swap_space
然后启用交换空间:
$ swapon -s
每次重启后都要重新挂载磁盘分区。因此为了使之持久化,就像上面一样,我们编辑 /etc/fstab
并输入下面行:
/swap_space swap swap sw 0 0
保存并退出文件。现在我们的交换分区会一直被挂载了。我们重启后可以在终端运行 free -m
来检查交换分区是否生效。
关于如何使用fdisk和fallocate命令创建交换分区就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。