Debian GNU/Linux创建swap
前言:在使用cargo编译deno时,在最后打包成二进制文件的时候,会报错退出,再次编译时查看系统状态发现很可能是内存不足,于是准备增加swap来应对。以下记录在Debian GNU/Linux增加swap方法。
我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后如何建立或调整swap分区呢?
在装完Linux系统之后,建立swap分区有两种方法。
新建磁盘分区作为swap分区
用文件作为swap分区(操作更简单)
下面介绍这两种方法:
新建磁盘分区作为swap分区
用fdisk或lvm命令对磁盘进行分区或建立逻辑卷,添加swap分区,新建分区,在fdisk中用“t”命令将新添的分区id改为82(Linux swap类型),最后用w将操作实际写入硬盘(没用w之前的操作是无效的)。
格式化swap分区
1 | mkswap /dev/sdb2 #这里的sdb2要看增加分区后显示的实际分区设备名 |
- 启用分区
1 | swapon /dev/sdb2 #启用swap分区 |
- 为了让系统启动时能自动启用这个交换分区,可以编辑/etc/fstab,加入下面一行
1 | /dev/sdb2 swap swap defaults 0 0 |
用文件作为swap分区
- 创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。
1 | dd if=/dev/zero of=/root/swapfile bs=1M count=2048 |
- 格式化交换分区文件:
1 | mkswap /root/swapfile #建立swap的文件系统 |
- 启用交换分区文件:
1 | swapon /root/swapfile #启用swap文件 |
使用 free -g 即可查看到新增的swap,但是这只是临时增加交换分区,想要永久生效需要写入/etc/fstab文件。
- 为了让系统启动时能自动启用这个交换分区,可以编辑/etc/fstab,加入下面一行
1 | /root/swapfile swap swap defaults 0 0 |
其它命令
查看是哪个进程使用了 swap:
使用 top 命令,然后再按 f,选中 swap,即可显示哪个进程使用了多少 swap 空间。然后要释放的话,把那个进程重起下即可。
查看 swap 使用的哪个分区使用
swapon -s命令。使用swapoff -a可以关闭所有交换分区。
Debian GNU/Linux创建swap


