如何在Ubuntu 20.04/CentOS 7上使用交换文件,如何创建Linux交换文件
时间:2020-03-21 11:43:15 来源:igfitidea点击:
本教程通过使用一些命令将文件制作为SWAP驱动器,我们可以其中制作SWAP驱动器并将该驱动器添加到相应的启动和服务管理器中。
步骤1(切换到root用户帐户)
$su Password:
步骤2(为交换文件分配空间)
注意:SWAP驱动器是内存大小的两倍。
如果我们有2GB的内存,则SWAP驱动器的大小为4GB。
其中我们可以将2G更改或者分配给各自的SWAP驱动器大小。
# fallocate -l 2G /mnt/swapfile.swap
步骤3(创建交换文件)
注意:这里我们使用2GB,因此就MB而言为2048,我们可以更改该值。
该给定命令需要一些时间,具体取决于磁盘和CPU的大小。
因此,在执行此命令期间请耐心等待。
# dd if=/dev/zero of=/mnt/swapfile.swap bs=2048 count=1048576
输出示例
1048576+0 records in 1048576+0 records out 2147483648 bytes (2.1 GB) copied, 49.4045 s, 43.5 MB/s
步骤4(格式化交换文件)
# mkswap /mnt/swapfile.swap
输出示例
Setting up swapspace version 1, size = 2 GiB (2147483648 bytes) no label, UUID=6f6a8a10-f2ae-4256-9a5c-7084cd0697e1
步骤5(启用交换文件)
# swapon /mnt/swapfile.swap
输出示例
swapon: /mnt/2GB.swap: insecure permissions 0644, 0600 suggested.
步骤6(提供交换文件的文件权限)
注意:如果在生产环境中使用交换空间,则这是可选命令,必须对交换文件使用600或者644权限。
# chmod 600 /mnt/swapfile.swap
步骤7(将交换文件添加到启动管理器)
# vim /etc/fstab
将给定命令添加到最后一行
# /etc/fstab # Created by anaconda on Fri Sep 4 06:44:00 2014 ## Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info #UUID=d1b5c2e9-d304-40c1-9ab5-a00ce2ab5450/ext4 defaults 1 1 /mnt/swapfile.swap none swap sw 0 0
':wq'保存并退出
步骤8(将交换文件添加到systemd引导管理器中)
# vim /etc/sysctl.conf
注意:其中我们可以从值10开始放置swappiness = 60,在这种类型的更大值中,我们使用的默认值为60。
将给定命令添加到最后一行
# sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/. ## Vendors settings live in /usr/lib/sysctl.d/. # To override a whole file, create a new file with the same in # /etc/sysctl.d/and put new settings there. To override # only specific settings, add a file with a lexically later # name in /etc/sysctl.d/and put new settings there. ## For more information, see sysctl.conf(5) and sysctl.d(5). kernel.sysrq = 1 vm.swappiness=60
':wq'保存并退出
检查Swapon状态并重新启动PC /服务器
# swapon -s # systemctl reboot
我们已经在CentOS和Ubuntu上使用交换文件创建了Linux交换驱动器。