阿里云建立swap的两种方法

本文详细介绍了如何在阿里云Linux主机上通过数据盘建立swap分区,以提高系统性能。包括分区创建、文件系统建立、swap分区装载与配置等步骤,并提供了创建swap文件作为备选方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们都知道swap是用来做虚拟内存的。虽然swap无法代替物理内存,但不可缺少,除非物理内存足够多,多到永远用不到swap...阿里云Linux主机默认是没有划分swap分区的,这就需要我们手动添加。建立swap有两种方法——1.建立分区;2.创建交换文件。这里重点介绍如何采用数据盘建立swap分区的方法,理由?运行速度:物理内存 > swap分区 > swap文件!当然,如果你的数据盘已经装了很多内容,不方便重新规划的话,也只好使用swap文件了。

一、使用数据盘建立swap分区

    由于对远程linux进行无损分区比较难操作,所以建立swap分区最大的问题就是必须进行格式化,所以最好是在你使用之前进行分区。当然,如果你的数据盘内容不多,而系统盘也还有足够的空间存放的话,也是可以的,具体就是mv的操作了。
    首先检查下swap情况,如图,系统默认是不划分swap的。
11.JPG
    按照官方加载数据盘的操作,执行“fdisk -S 56 /dev/xvdb”命令,对数据盘进行分区,当然你的数据盘也有可能不是/dev/xvdb,具体请用fdisk -l核对后再执行相应的命令。然后依照提示进行操作,如图所示:
22.jpg
    这里的数据盘只有10G,而建立swap标准一般为物理内存的两倍,故此在分区1的结束簇上填写了147(1468的1/10,目标1G的swap),至于剩下的空间,则完全分配为数据盘了。分区信息建立好之后,必须写进分区表,最后的命令就是保存和退出,请注意操作。
33.JPG
    fdisk -l,检查下分区建立情况。嗯~不错!
44.JPG
    分好区之后还不能用,必须建立文件系统,正如win下没有格式化的盘符会被系统识别为“未知分区”。首先建立swap分区:mkswap /dev/xvdb1;然后建立数据盘:mkfs.ext3 /dev/xvdb2。这里的xvdb1和xvdb2就是之前所建立的分区,请选择对应的分区进行操作。
55.JPG
    分区建立到此完成。检查下内存使用情况:
11.JPG
    啊咧~没有东西啊!那是因为你没装载swap,使用swapon命令进行装载,这下swap就出现了~万岁!
66.JPG

    这里只是一次性装载,当你重启服务器时swap还是一样不会自动装载的,要想自动加载swap分区,就必须修改配置文件!这里的配置文件本人同样也把数据盘给添加进来了。

下面“/www”指的是挂载点,一般挂载到 “/mnt”目录

77.JPG

挂载完成后使用“mount -a”命令挂载新分区,然后用“df -h”命令查看,出现以下信息就说明挂载成功,可以开始使用新的分区了。



系统虽然已经可以自动加载分区了,但swap还是一样不会自动启用的,这里还必须修改/etc/rc.local文件,只要屏蔽掉“swapoff -a”这一句就ok了。

88.JPG
    重启之后,检查内存使用~OK,swap已经自动装载启用了!检查数据盘~恩,也自动装载到对应的文件夹了。
    不错~完工!
99.JPG

二、创建swap文件
    倘若你没有数据盘或数据内容较多而不方便挪动时,也只好采用这种方式了。虽然采用swap文件的方式速度是最慢的,但是有总比没有的好,这里简单介绍一下操作步骤及相关命令。
1.“dd if=/dev/zero of=/swapfile bs=1k count=2048000”:定义swap的大小以及位置,注意:bs  blocksize ,每个块大小为1k.count=2048000。则总大小为2G的文件。

2.“mkswap /swapfile”:建立swap

3.“swapon /swapfile”:启动swap

4.修改/etc/fstab使其启动时自动mount,这个操作与swap分区法一样,在/etc/fstab中增加如下语句:

/swapfile  swap  swap    defaults 0 0

5.如果重启之后swap没有自动启用的话,还要去修改/etc/rc.local文件。

    最后,这里再提一点,网上有一些swap的添加脚本啊,操作方法啊什么的,都是基于创建swap文件的方式进行的!而这里才是真正的使用了swap分区~
<think>嗯,用户想在Linux系统中创建和配置swap文件。我之前在系统级指令里看到相关的引用,需要先回忆一下步骤。首先,用户可能需要检查现有的swap空间,可以用free或者swapon命令。然后,创建一个指定大小的文件,比如1G,使用dd命令或者fallocate。不过,根据引用里的内容,似乎用的是dd命令,所以应该推荐这个方法。接下来,设置正确的权限,比如600,这样只有root能读写。然后用mkswap格式化文件为swap空间,这一步在引用里也提到了,sudo mkswap /swapfile。之后启用swap文件用swapon命令,并添加到fstab里让系统启动时自动挂载。可能还需要调整swappiness参数,不过用户的问题可能主要是创建和配置,这部分可以作为可选步骤。需要确保步骤清晰,用户容易跟随。可能的问题包括权限问题、文件创建失败,或者fstab配置错误导致启动问题,所以应该提醒用户注意这些点。另外,用户可能不太清楚swap的大小应该是多少,可能需要建议一般情况下的推荐大小,比如物理内存的1到2倍。现在把这些步骤组织成中文回答,引用对应的参考资料。最后生成相关问题,比如如何调整swap使用频率,如何删除swap文件,或者swap和zram的区别等等。需要确保LaTeX格式正确,行内公式用$,独立公式用$$,但这个问题可能不太涉及数学公式,所以可能用不到。不过如果有提到文件大小计算的话,可能需要用到,比如计算1G的文件块数,比如1G=1024MB,块大小1M,count=1024,写成dd命令的参数。这部分可能需要用行内公式,比如$1G = 1024 \times 1MB$,不过可能用户示例中没有用到,所以可能不需要。总之,按照步骤分点说明,引用对应的步骤到参考资料,最后生成相关问题。</think>### 如何在 Linux 系统中创建和配置 Swap 文件 #### 1. **检查现有 Swap 空间** 在操作前,先确认系统当前的 Swap 配置: ```bash free -h swapon --show ``` #### 2. **创建 Swap 文件** 使用 `dd` 命令创建指定大小的文件(例如 1GB): ```bash sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 ``` - `bs=1M`:块大小为 1MB - `count=1024`:块数量,总大小为 $1M \times 1024 = 1GB$ - 文件路径可根据需求调整(如 `/mnt/disk/swapfile`) #### 3. **设置文件权限** 确保仅 root 用户可访问: ```bash sudo chmod 600 /swapfile ``` #### 4. **格式化文件为 Swap 空间** 使用 `mkswap` 命令格式化文件[^1][^2]: ```bash sudo mkswap /swapfile ``` #### 5. **启用 Swap 文件** 临时激活 Swap: ```bash sudo swapon /swapfile ``` 永久生效需在 `/etc/fstab` 中添加: ```bash echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab ``` #### 6. **验证配置** 检查 Swap 是否生效: ```bash free -h swapon --show ``` #### 可选步骤:调整 Swappiness 参数 控制系统使用 Swap 的频率(默认值 60): ```bash sudo sysctl vm.swappiness=10 # 永久生效:在 /etc/sysctl.conf 添加 `vm.swappiness=10` ``` #### 注意事项 - **Swap 大小建议**:通常为物理内存的 1~2 倍,内存充足时可适当减小。 - **性能影响**:Swap 文件位于机械硬盘时可能降低性能,建议使用 SSD。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值