当前位置: 首页 > 科技观察

使用fdisk和fallocate命令创建交换分区

时间:2023-03-14 13:52:49 科技观察

交换分区用于在物理内存(RAM)已满时保存其内容。当RAM耗尽时,Linux会将内存中的非活动页面移动到交换空间,释放内存供系统使用。即便如此,也不应将交换空间视为物理内存的替代品。在大多数情况下,推荐的交换内存大小是物理内存大小的1到2倍。这意味着如果你有8GBRAM,那么交换空间大小应该在8-16GB之间。如果系统中没有配置交换分区,当内存耗尽时,系统可能会杀死正在运行的进程/应用程序,从而导致系统崩溃。在本文中,我们将学习如何为Linux系统添加交换分区。我们有两种方法:使用fdisk命令使用fallocate命令第一种方法(使用fdisk命令)通常,系统的第一个硬盘会被命名为/dev/sda,其中的分区会被命名为/dev/sda1,/开发/sda2。在本文中,我们使用一个有两个主分区的硬盘,这两个分区是/dev/sda1和/dev/sda2,我们使用/dev/sda3作为交换分区。首先新建一个分区,$fdisk/dev/sda按n新建一个分区。系统会询问你从哪个柱面开始,按回车键使用默认值即可。然后系统会问你结束哪个柱面,这里我们输入交换分区的大小(例如1000MB)。这里我们输入+1000M。swap现在我们已经创建了一个大小为1000MB的磁盘。但是我们没有设置分区类型,我们按t回车设置分区类型。现在我们需要输入分区号,这里我们输入3,然后输入磁盘分类号,swap分区的分区类型是82(要显示所有可用的分区类型,按l),然后按w保存磁盘分区表。下一步使用mkswap命令格式化swap分区:$mkswap/dev/sda3然后激活新创建的swap分区:$swapon/dev/sda3但是我们的swap分区在重启后不会自动挂载。要进行安全挂载,我们需要在/etc/fstab文件中添加一些内容。打开/etc/fstab文件并输入以下行:$vi/etc/fstab/dev/sda3swapswapdefault00保存并关闭文件。现在我们可以在每次重启后使用我们的交换分区。第二种方法(使用fallocate命令)我推荐这种方法,因为它是创建交换空间最简单、最快的方法。fallocate是最被低估和最少使用的命令之一。fallocate命令用于为文件预分配块/大小。要使用fallocate创建交换空间,我们首先在/目录中创建一个名为swap_space的文件。然后为swap_space文件分配2GB:$fallocate-l2G/swap_space我们运行以下命令来验证文件大小:$ls-lh/swap_space然后更改文件权限以使/swap_space更安全:$chmod600/swap_spaceso只有root可以读取现在写入文件。我们再格式化swap分区(LCTT译注:虽然这个swap_space是一个文件,但是我们把它挂载为一个分区):$mkswap/swap_space然后启用swap空间:$swapon-s每次重启磁盘分区后重新挂载。所以为了让它持久化,像上面一样,我们编辑/etc/fstab并输入以下行:/swap_spaceswapswapsw00保存并退出文件。现在我们的交换分区将始终被挂载。重启后,我们可以在终端运行free-m查看swap分区是否生效。