从Ubuntu/Debian/Fedora/CentOS的文件中创建交换空间
时间:2020-02-23 14:44:31 来源:igfitidea点击:
如何在Ubuntu/Debian/Centos&Fedora Linux上创建交换?
当物理内存量(RAM)耗尽时,使用Linux中的交换空间。
当系统需要更多内存资源和RAM已满时,内存中的非活动页面被移动到交换空间。
交换空间对于具有少量RAM的机器至关重要。
通常建议将交换空间保持在硬盘上的专用交换分区中。
但对于系统安装较小的磁盘大小,可以在文件上创建此操作。
推荐的交换空间数量随系统中的RAM的数量而增加。
推荐系统交换空间
以下是Red Hat的推荐相对于物理内存大小使用的交换量。
我的系统有8 GB的RAM。
$grep MemTotal /proc/meminfo | awk '{print /1024}' 7492.51
我将创建8 GB的交换文件,满足"至少4 GB"公式。
在Linux中创建交换文件
1 - 创建一个空文件:
sudo fallocate -l 8096M /swapfile
可以使用DD命令完成相同的操作。
$sudo dd if=/dev/zero of=/swapfile bs=1G count=8 oflag=direct 8+0 records in 8+0 records out 8589934592 bytes (8.6 GB, 8.0 GiB) copied, 35.7336 s, 240 MB/s
2 - 使用以下命令设置交换文件。
$sudo mkswap /swapfile mkswap: /swapfile: insecure permissions 0644, 0600 suggested. Setting up swapspace version 1, size = 8 GiB (8589930496 bytes) no label, UUID=549d4cd2-f1cf-4839-8ddf-1a20df9af48e
3 - 更改交换文件的安全性。
交换文件不应该是世界可读性的。
只有root用户应该具有读写权限。
sudo chmod 0600 /swapfile
4 - 打开交换文件
指定应发生分页和交换的文件。
sudo swapon /swapfile
5 - 在启动时启用交换文件
让我们添加行以在引导到/etc/fstab文件时启用交换文件。
$sudo nano /etc/fstab # Mount swap file at boot /swapfile swap swap defaults 0 0
下次系统靴子时,它激活新的交换文件。
6 - 测试交换
让我们验证SWAP是否处于活动状态,可用于分页。
使用下面显示的三种方法中的任何一种。
$cat /proc/swaps Filename Type Size Used Priority /swapfile file 8388604 0 -2 $free -h total used free shared buff/cache available Mem: 7.3Gi 2.5Gi 2.7Gi 232Mi 2.2Gi 4.3Gi Swap: 8.0Gi 0B 8.0Gi $sudo swapon --show NAME TYPE SIZE USED PRIO /swapfile file 8G 0B -2
删除交换文件
如果要删除交换文件,请使用以下过程。
1 - 禁用交换文件。
sudo swapoff -v /swapfile
2 - 从/etc/fstab文件中删除其条目。
3 - 删除实际的交换文件:
sudo rm /swapfile